linux 组权限bug,Sudo bug 可导致 Linux和macOS 普通用户获得 root 权限

news/2024/7/5 19:47:40 标签: linux 组权限bug

存在十年之久的sudo漏洞在Linux和macOS中公开,它允许任何用户获得root特权,现在终于在1.8.31版本中对其进行了修补。

该安全漏洞位于pwfeedback选项中,该选项默认在Linux Mint和elementary OS等发行版中启用。由于存在此错误,即使用户未在sudoers文件中列出,也可以触发基于堆栈的缓冲区溢出。

该漏洞存在于1.7.1至1.8.25p1版本中,但是1.8.26到1.8.30的版本可能会被滥用,因为它们包含了EOF处理该漏洞的变化。Sudo 1.7.1是在2009年4月19日发布的,而第一个补丁版本(1.8.26)是在2019年9月17日发布的,所以这个bug大约存在了10年之久。

补丁已可用

1.8.31版包含一个阻止漏洞利用的补丁程序,但是如果无法安装此最新版本,则禁用pwfeedback是确保安全的最简单方法。只有启用了pwfeedback的设备才会受到攻击。

“利用此漏洞不需要sudo权限,只需启用pwfeedback。可以通过在提示输入密码时通过管道将大量输入传递给sudo来重现该错误。”几天前发布的一份公告解释道。

“如果在sudoers中启用了pwfeedback,则堆栈溢出可能会允许非特权用户升级到root帐户。由于攻击者完全控制了用于使缓冲区溢出的数据,因此存在很高的可利用性。”

如果要检查是否在特定设备上启用了pwfeedback,则可以使用sudo -l命令:

[linuxidc@linux:~/www.linuxidc.com]$ sudo -l

[sudo] linuxidc 的密码:

匹配 %2$s 上 %1$s 的默认条目:

env_reset, mail_badpass,

secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

用户 linuxidc 可以在 linux 上运行以下命令:

(ALL : ALL) ALL

[linuxidc@linux:~/www.linuxidc.com]$ sudo -V

Sudo 版本 1.8.21p2

Sudoers 策略插件版本 1.8.21p2

Sudoers 文件语法版本 46

Sudoers I/O plugin version 1.8.21p2

e2b475ea30f6da8e2b3416d1d90d5031.png

5a657f19788d23d4e446af3ea109a49c.png

pwfeedback是一项新增功能,专门用于在用户在特定窗口中输入密码时以星号形式为用户提供视觉反馈。 虽然某些Linux发行版附带禁用了此选项,但其他发行版默认情况下将其启用,并且应优先更新运行这些发行版的设备,以防止任何可能的利用。

0b1331709591d260c1c78e86d0c51c18.png


http://www.niftyadmin.cn/n/1593640.html

相关文章

Java面试题总结(基础面试题完结版,java使用教程书

同理:Collections包也提供了对list和set集合的方法。 Collections.unmodifiableList(List) Collections.unmodifiableSet(Set) 五、队列和栈是什么?有什么区别? 1、队列先进先出,栈先进后出。 2、遍历数据速度不同。 栈只能从…

struts2+jquery 实现ajax无刷新更新数据

为什么80%的码农都做不了架构师?>>> 前几天为了实现一个struts 的 ajax无刷新更新数据的例子,发现网上资料很少,很多已经过时或者链接都失效了 不过整合他们的资料,加上自己的研究,终于实现了效果 要求&am…

递归重命名文件linux,linux – 如何使用来自Bash的iconv递归重命名文件和文件夹

我认为以下内容可以在一次通过中完成您想要的一切.# Update: if this doesnt work, use read -d insteadfind . -print0 | while IFS read -d $\000 f ;doorig_f"$f"# Below is pure bash. You can replace with tr if you like# f"$( echo $f | tr -d ,\ | tr…

JVM总体概述,java架构师必备技能

JVM字节码 JVM使用Java字节码的方式,作为Java 用户语言 和 机器语言 之间的中间语言。实现一个通用的、 机器无关 的执行平台。 JVM能干什么 基于安全方面考虑,JVM 要求在 class 文件中使用强制性的语法和约束,但任意一门语言都可以转换为被…

MySQL Replication常见错误整理

MySQL Replication常见错误整理 2013-11-06 12:17:39分类: Linux这篇文章旨在记录MySQL Replication的常见错误,包括自己工作中遇到的与网友在工作中遇到的,方面自己及别人以后进行查找。每个案例都是通过Last_IO_Errno/Last_IO_Error或者Las…

linux 性能测试iostat,linux 性能工具之iostat

报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息。51Testing软件测试网%gkrc8qV"l1R3r语法51Testing软件测试网y8N mn:m(Gf2}ziostat[-s] [-a] [-d|-t] [-T][-m][PhysicalVolume... ] [Interval[Count] ]51Testi…

Kafka发送原理剖析其他生产者参数,2021年字节跳动、阿里等大厂最全Java面试题

这个参数用来指定分区中必须有多少个副本收到这条消息,之后生产者才会认为这条消息时写入成功的。acks是生产者客户端中非常重要的一个参数,它涉及到消息的可靠性和吞吐量之间的权衡。 ack0, 生产者在成功写入消息之前不会等待任何来自服务器…

2.7-mysql主从配置-1

MySQL 主从原理非常简单,总结一下:每个从仅可以设置一个主。主在执行 sql 之后,记录二进制 log 文件(bin-log)。从连接主,并从主获取 binlog,存于本地 relay-log,并从上次记住的位置…