CVE-2023-22809:Sudo权限提升漏洞研究
Sudo(su"do")允许系统管理员将权限委托给特定用户(或用户组),使他们能够以root或其他用户的身份运行部分(或所有)命令,同时提供命令及其参数的审计追踪。
漏洞环境:
然后使用生成的命令调用sudo_edit() 函数。在找到一个临时可写目录(/var/tmp、/usr/tmp、/tmp或取消操作)后,该方法解析命令行以提取要处理的文件列表。为此,之前的 --(double dash)参数用作分隔符,其右边的每个参数都被视为要处理的文件名。

Part1 漏洞状态
漏洞细节 | 漏洞POC | 漏洞EXP | 在野利用 |
有 | 有 | 有 | 无 |
Part2 漏洞描述
漏洞名称 | 绕过soduedit权限提升漏洞 |
CVE编号 | CVE-2023-22809 |
漏洞类型 | 权限提升 |
漏洞等级 | 7.8 高危 (High) |
公开状态 | 公开 |
漏洞描述 | 在Sudo 版本 1.9.12p1中使用sudoedit时,sudoers的保护机制可能被绕过,从而导致通过编辑未经授权的文件实现权限升级。 |
时间线 | 2022.12.23 提交漏洞信息 2023.01.05 发布补丁 2023.01.06 分配了 CVE-2023-22809 2023.01.18 公开发布 |
影响产品 | sudo v1.8.0 - 1.9.12p1 |
Kali 2022.04 x64
Sudo 1.9.11p3Part3 漏洞复现
1.进入kali Copy测试脚本test.sh2.设置脚本执行权限3.运行测试脚本复现成功!
Part4 漏洞分析
Sudo使用用户提供的环境变量来让用户选择他们喜欢的编辑器。这些变量的内容扩展了传递给sudo_edit() 函数的实际命令。然而,后者依赖于 -- 参数的存在来确定要编辑的文件列表。在授权的环境变量之一中注入额外的 -- 参数可以更改此列表,并通过使用RunAs用户的权限编辑其他任何文件来实现权限升级。此问题发生在 sudoers策略验证之后。sudoers策略插件首先调用sudoers_policy_main()来处理策略的查找和验证,使用sudoers_lookup()。然而,在这个函数的结尾,在成功的策略验证之后,命令会使用名为find_editor()的编辑器查找方法进行重写。
如果存在这些值,它们将被发送到 resolve_editor() 进行解析。然而,后者不仅解析编辑器的路径,还接受要传递到最终命令行中的额外参数。这些参数被放置在 --(双破折号)参数之前,以便与原始命令行中的文件分开。


这样设置,命令行将被解析为:

因此,假设采用以下策略,用户将能够通过编辑系统上的敏感文件来将权限升级到 root。
Part5 修复建议
升级sudo到最新的1.9.13p3版本。
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录
请登录/注册后在FreeBuf发布内容哦