Linux Kernel do_mremap VMA本地权限提升漏洞 CVE-2004-0077 CNNVD-200403-026

7.2 AV AC AU C I A
发布: 2004-03-03
修订: 2018-05-03

Linux是一款开放源代码操作系统。 Linux内核中mremap(2)系统调用由于没有对函数返回值进行检查,本地攻击者可以利用这个漏洞获得root用户权限。 mremap系统调用被应用程序用来改变映射区段(VMAs)的边界地址。mremap()系统调用提供对已存在虚拟内存区域调整大小。从VMA区域移动部分虚拟内存到新的区域需要建立一个新的VMA描述符,也就是把由VMA描述的下面的页面表条目(page table entries)从老的区域拷贝到进程页表中新的位置。 要完成这个任务do_mremap代码需要调用do_munmap()内部内核函数去清除在新位置中任何已经存在的内存映射,也就是删除旧的虚拟内存映射。不幸的是代码没有对do_munmap()函数的返回值进行检查,如果可用VMA描述符的最大数已经超出,那么函数调用就可能失败。 isec利用这个漏洞通过页表缓冲(page table cache)使包含在页中的恶意指令被执行。详细方法可参看如下地址: http://isec.pl/vulnerabilities/isec-0014-mremap-unmap.txt

0%
当前有6条漏洞利用/PoC
当前有111条受影响产品信息