CVE-2018-1000028调试记录

💡 原文中文,约3100字,阅读约需8分钟。
📝

内容提要

漏洞CVE-2018-10000281是Linux内核NFS子系统的访问控制错误漏洞,允许远程用户通过NFS读写权限范围外的文件。漏洞利用需要确保目标NFS服务器对外暴露的文件系统启用了rootsquash选项。漏洞的补丁非常简单,通过一个for循环将客户端传过来的所有等于root的GID替换为一个低权限GID,然后执行一次groups_sort来对收到的所有GID排序。环境配置包括服务端和客户端的设置。复现调试过程中发现问题出在服务端,解决方法是移除--manage-gids选项,并重启NFS服务。

🎯

关键要点

  • CVE-2018-10000281是Linux内核NFS子系统的访问控制错误漏洞,CVSS评分为7.4。
  • 漏洞允许远程用户通过NFS读写权限范围外的文件,需启用rootsquash选项。
  • 补丁通过for循环将root GID替换为低权限GID,并执行groups_sort进行排序。
  • 漏洞成因在于groups_sort在每次迭代中执行,导致root GID未被完全替换。
  • 环境配置包括服务端和客户端的设置,需安装NFS server和client。
  • 服务端需配置NFS共享目录并启用root_squash选项。
  • 客户端需创建用户并配置挂载NFS的权限。
  • 复现调试过程中发现问题出在服务端,需移除--manage-gids选项并重启NFS服务。
  • 成功复现漏洞后,用户可以读取root用户创建的文件。
➡️

继续阅读