写点什么

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:535250
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

docker、k8s 面试总结

yuexin_tech

Docker k8s

当TIME_WAIT状态的TCP正常挥手,收到SYN后…

华为云开发者联盟

TCP syn 报文 TIME_WAIT RST报文

一个好的持续交付流水线是怎样的? | 研发效能提升36计

阿里云云效

云计算 阿里云 云原生 持续交付 持续部署

开发电脑用 Windows 还是 Mac

HoneyMoose

从理想照进现实,浅谈“算力网络”

鲸品堂

东数西算

今儿直白的用盖房子为例,给你讲讲Java建造者模式

华为云开发者联盟

Java 设计模式 对象 建造者模式 对象构建模式

关于 CentOS 迁移龙蜥操作系统,这里有一份详细指南,请查收!

OpenAnolis小助手

centos 开源 操作系统 龙蜥

js几种网络请求方式梳理——摆脱回调地狱

有道技术团队

Web 键盘输入法应用开发指南 (4) —— 组合键

天择

JavaScript 键盘 输入法 3月月更

从用户输入URL到页面展示,这中间发生了什么?

Tristan

前端 浏览器

遵循Promises/A+规范,深入分析Promise实现细节(基础篇)

战场小包

JavaScript 前端 Promise 3月月更

NFT商城游戏系统开发技术

薇電13242772558

NFT

DevOps流水线CI 成倍提速方案

八戒技术团队

DevOps

presto实战读书笔记

聚变

解密数据仓库LLVM技术神奇之处

华为云开发者联盟

数据仓库 LLVM 算子 GaussDB(DWS) 底层虚拟机

详解用OpenCV绘制各类几何图形

华为云开发者联盟

OpenCV 图像处理 图像 几何图形

将本地代码同步到gitee和github中去

布衣骇客

Git Commit #Github

如何打造良好的分享氛围

Hockor

团队管理 技术分享

如何做好一场技术分享

Hockor

团队管理 个人成长

聊聊 Pulsar: Pulsar 分布式集群搭建

老周聊架构

云原生 Apache Pulsar 3月月更

紫光展锐解除楚庆CEO职务,内部员工爆料那些不为人知的内情!

IC男奋斗史

芯片行业思考

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

晨亮

「架构实战营」

selenium的实现原理

红毛丹

自动化测试 自动化测试框架 selenium 3月程序媛福利 3月月更

TiDB Online DDL 在 TiCDC 中的应用丨TiDB 工具分享

PingCAP

比特币突破4.4万美元!美欧制裁或推动俄罗斯资金转向加密货币

CECBC

初识工业互联网

劼哥stone

工业互联网

读一篇博客,写一段代码,每天写写Python自然就会了,每日Python第1天

梦想橡皮擦

Python 3月月更

Go语言实战之数组的内部实现和基础功能

山河已无恙

Go 语言 3月月更

Mybatis的where标签,竟然还有这么多不知道的!

CRMEB

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