freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CVE-2023-22809:Sudo权限提升漏洞研究
2023-05-19 09:09:52
所属地 北京
Sudo(su"do")允许系统管理员将权限委托给特定用户(或用户组),使他们能够以root或其他用户的身份运行部分(或所有)命令,同时提供命令及其参数的审计追踪。

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.11p3

图片

Part3 漏洞复现

1.进入kali Copy测试脚本test.sh2.设置脚本执行权限3.运行测试脚本

图片

复现成功!

Part4 漏洞分析

Sudo使用用户提供的环境变量来让用户选择他们喜欢的编辑器。这些变量的内容扩展了传递给sudo_edit() 函数的实际命令。然而,后者依赖于 -- 参数的存在来确定要编辑的文件列表。在授权的环境变量之一中注入额外的 -- 参数可以更改此列表,并通过使用RunAs用户的权限编辑其他任何文件来实现权限升级。此问题发生在 sudoers策略验证之后。sudoers策略插件首先调用sudoers_policy_main()来处理策略的查找和验证,使用sudoers_lookup()。然而,在这个函数的结尾,在成功的策略验证之后,命令会使用名为find_editor()的编辑器查找方法进行重写。

图片

根据文档,此函数首先使用三个用户提供的环境变量进行编辑器查找,分别是 SUDO_EDITOR、VISUAL 和 EDITOR。图片

图片

如果存在这些值,它们将被发送到 resolve_editor() 进行解析。然而,后者不仅解析编辑器的路径,还接受要传递到最终命令行中的额外参数。这些参数被放置在 --(双破折号)参数之前,以便与原始命令行中的文件分开。

图片

图片然后使用生成的命令调用sudo_edit() 函数。在找到一个临时可写目录(/var/tmp、/usr/tmp、/tmp或取消操作)后,该方法解析命令行以提取要处理的文件列表。为此,之前的 --(double dash)参数用作分隔符,其右边的每个参数都被视为要处理的文件名。

图片

当在先前用于查找编辑器的环境变量中注入额外的双破折号时,这种行为会导致混淆。图片

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

图片

因此,假设采用以下策略,用户将能够通过编辑系统上的敏感文件来将权限升级到 root。

图片

Part5 修复建议

升级sudo到最新的1.9.13p3版本。

# 漏洞 # 渗透测试 # 工控安全 # 漏洞分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录