写点什么

Linux 用户注意了:Linux Sudo 被曝漏洞

  • 2019-10-16
  • 本文字数:1125 字

    阅读完需:约 4 分钟

Linux用户注意了:Linux Sudo被曝漏洞

作为安装在几乎所有基于 UNIX 和 Linux 操作系统上的核心命令,Sudo 是最重要、最强大且最常用的实用程序之一。



近日,安全专家发现 Sudo 中出现一个新漏洞,该漏洞是 sudo 安全策略绕过问题,可导致恶意用户或程序在目标 Linux 系统上以 root 身份执行任意命令。


Sudo 的全称是“superuserdo”,它是 Linux 系统管理指令,允许用户在不需要切换环境的前提下以其它用户的权限运行应用程序或命令,通常是以 root 用户身份运行命令,以减少 root 用户的登录和管理时间,同时提高安全性。


幸运的是,该漏洞仅在非标准配置中有效,并且大多数 Linux 服务不受影响。


据悉,这个漏洞的编号是 CVE-2019-14287 ,它是由苹果信息安全部门的研究员 Joe Vennix 发现并分析的 。


在获得此漏洞之前,重要的是要掌握一些有关 sudo 命令如何工作以及如何进行配置的背景信息。


Linux操作系统上执行命令时,非特权用户可以使用 sudo(超级用户身份)命令以 root 身份执行命令,只要它们已被授予权限或知道 root 用户的密码即可。



sudo 命令还可以配置为允许用户通过向/etc/sudoers 配置文件添加特殊命令来以其他用户身份运行命令。


例如,以下命令允许用户’test’以 root 身份以外的任何用户身份运行/usr/bin/vim 和 usr/bin/id 命令。


test ALL = (ALL, !root) /usr/bin/vimtest ALL = (ALL, !root) /usr/bin/id
复制代码


为了使’test’用户执行上述命令之一,他们将使用带有-u 参数的 sudo 命令来指定运行用户。例如,以下命令将以 vibleing-test 用户身份启动 vim。


sudo -u bleeping-test vim 
复制代码


在 Linux 中创建用户时,将为每个用户分配一个 UID。如下所示,用户’test’的 UID 为 1001,'bleeping-test’用户的 UID 为 1002。



启动 sudo 命令时,用户可以使用这些 UID 代替用户名。例如,下面的命令将再次以“测试”的形式启动 VIM,但这一次是通过提供用户的 UID 来启动的。


sudo -u#1002 vim
复制代码

Sudo 漏洞

苹果安全研究员 Joe Vennix 发现一个错误,该错误允许用户通过在 sudo 命令中使用-1 或 4294967295 UID 以 root 身份启动允许的 sudo 命令。



例如,即使在/etc/sudoers 文件中明确拒绝了‘test’用户,以下命令也可以利用该错误以 root 身份启动/usr/bin/id 用户。


sudo -u#-1 id
复制代码


下面也说明了如何将这个错误与/usr/bin/id 命令一起使用以获取 root 特权。



尽管该错误功能强大,但重要的是要记住,只有通过 sudoers 配置文件为用户提供了对命令的访问权限,它才能起作用。如果不是这样,并且大多数 Linux 发行版默认情况下都没有,那么此错误将无效。


据悉,CVE-2019-14287 漏洞影响 1.8.28 之前的 Sudo 版本。


强烈建议用户尽快将 sudo 软件包更新为最新版本!


参考文章:


Linux SUDO Bug Lets You Run Commands as Root, Most Installs Unaffected


2019-10-16 10:535341
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 381.9 次阅读, 收获喜欢 1805 次。

关注

评论

发布
暂无评论
发现更多内容

另一种方式实现事务码SE16里的结果集修改

汪子熙

JavaScript SAP Fiori

Inner Join, Left Outer Join和Association的区别

汪子熙

SAP abap ST05

SAP 不同 ABAP 系统里同一 Customizing activity 的显示差异分析

汪子熙

CRM SAP ERP abap 定制化

使用DOM Breakpoints找到修改属性的Javascript代码

汪子熙

JavaScript html chrome

☕【Java技术之旅】从底层角度去认识线程的原理

码界西柚

Java 线程 Thread 线程协作 5月日更

利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率

汪子熙

JavaScript chrome

架构实战营 模块四:课后作业

👈

架构实战营

数据科学指南#基础篇 Matplotlib 入门

Lev

Python 数据科学 matplotlib data-science

千万级学生管理系统的考试试卷存储方案

颜培攀

架构实战营

C4C Cloud Application Studio做ABSL开发的一些性能方面的最佳实践

汪子熙

Cloud CRM SAP C4C

SAP Fiori Launchpad Tile点击后跳转的调试技巧

汪子熙

JavaScript SAP Fiori SAP UI5

架构实战营作业4

大肚皮狒狒

SAP Fiori 应用 Footerbar 区域按钮的高亮显示逻辑

汪子熙

JavaScript SAP Fiori SAP UI5

学生考试系统存储设计

王硕

架构训练营

架构实战营 模块四:学习总结

👈

架构实战营

美团二面:Redis与MySQL双写一致性如何保证?

捡田螺的小男孩

数据库 面试 一致性 缓存;

到底哪种类型的错误信息会阻止business transaction的保存

汪子熙

CRM SAP abap

Authorization object在哪些ABAP代码里使用到

汪子熙

CRM SAP abap Netweaver

Java Elasticsearch 使用

Java elasticsearch

HBase常见问题

数据社

大数据 HBase 5月日更

模块四-千万级学生管理系统试卷存储方案

华仔架构训练营

找出 SAP OData service出错根源的小技巧

汪子熙

SAP Fiori SAP UI5 OData

一个查看 SAP UI5 控件所有公有方法的小技巧

汪子熙

JavaScript SAP SAP UI5

让秋招飞,Java岗高频面试题盘点,站着就把offer给拿了

北游学Java

Java 面试 秋招

python-运算函数-sum

Geek_6370d5

Kafka-详细笔记

ninetyhe

分布式 高并发系统设计 消息系统 Kafk

如何在SAP CRM WebClient UI里创建HANA Live Report

汪子熙

CRM SAP WebClient UI

如何将BSP应用配置成Fiori Launchpad上的一个tile

汪子熙

SAP abap Fiori SAP UI5 bsp

SAP CDS view注解解析 - @Environment.systemField

汪子熙

SAP abap

架构师实战营:模块四 千万级学生管理系统的考试试卷存储方案

ifc177

#架构实战营

【架构实战营】第 4 模块作业

swordman

架构实战营

Linux用户注意了:Linux Sudo被曝漏洞_安全_万佳_InfoQ精选文章