FreeBSD 4.6.1-RELEASE-p10以及之前版本的内核中的几个系统调用没有对参数进行正确的边界检查,可能导致内核中的敏感信息泄漏。 FreeBSD 内核提供了如下系统调用:accept(2)、getsockname(2)、getpeername(2)、vesa(4) FBIO_GETPALETTE ioctl(2)。它们错误地假定某个参数肯定为正整数,而实际上该参数是作为有符号整数处理的。因此,系统调用碰到负数参数时,会出现边界检查失败。 如果攻击者用较大的负值参数调用受影响的系统调用,就会导致kernel返回很大一部分的kernel内存。这些内存中可能含有机密信息,如部分文件缓存或终端缓冲区等。攻击者可以直接或间接地利用这些信息提升权限。例如,终端缓冲区中可能含有用户提交的口令信息。
FreeBSD 4.6.1-RELEASE-p10以及之前版本的内核中的几个系统调用没有对参数进行正确的边界检查,可能导致内核中的敏感信息泄漏。 FreeBSD 内核提供了如下系统调用:accept(2)、getsockname(2)、getpeername(2)、vesa(4) FBIO_GETPALETTE ioctl(2)。它们错误地假定某个参数肯定为正整数,而实际上该参数是作为有符号整数处理的。因此,系统调用碰到负数参数时,会出现边界检查失败。 如果攻击者用较大的负值参数调用受影响的系统调用,就会导致kernel返回很大一部分的kernel内存。这些内存中可能含有机密信息,如部分文件缓存或终端缓冲区等。攻击者可以直接或间接地利用这些信息提升权限。例如,终端缓冲区中可能含有用户提交的口令信息。