百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

关于近期Linux内核提权漏洞总结 linux系统提权常用手段

qiyuwang 2024-10-26 13:57 21 浏览 0 评论

今年以来Linux内核出现很多严重安全漏洞,我们再次予以总结,以供大家参考学习和修复。

CAP_SYS_ADMIN导致Kubernetes容器逃逸(CVE-2022-0185)

漏洞说明

Linux kernel 中发现一个新的安全漏洞CVE-2022-0185。由于Linux内核"File System Context"组件中的一个堆缓存溢出漏洞,攻击者利用该漏洞可以实现越界写、权限提升、DoS 和任意代码执行。

使用非特权的命名空间或使用 unshare进入含有 CAP_SYS_ADMIN 权限的命名空间。

Docker seccomp 默认拦截unshare命令,所以运行该命令一般是不允许的。

漏洞影响

大于5.1-rc1 以来的所有 Linux kernel 版本,包括最新5.4.173、5.10.93、5.15.1。

也影响 Ubuntu 20/21、Debian 11 和部分 Red Hat Centos 8包。

危害等级

高危(CVSS 评分7.8)

修复和缓解建议

升级 Linux kernel 到 5.16.2 版本来修复该漏洞。

对于这些暂时没有可用补丁的系统,建议用户禁用非特权用户命名空间。

在 Ubuntu 系统中,可以使用以下命令来禁用非特权命名空间:

sysctl -w kernel.unprivileged_userns_clone=0

红帽用户可以使用以下命令来禁用用户命名空间:

echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/sysctl.d/userns.conf

TIPC远程堆栈溢出(CVE-2022-0435)

安全研究者在Linux内核用于进程间透明网络模块通信 (TIPC) 协议中发现了本地和远程可访问的堆栈溢出。该模块存在于大多数主要发行版中找到该模块,在该模块加载的情况下就可被利用。此外,对于远程利用目标需要已经设置TIPC承载,即漏洞扩展到使用TIPC系统。漏洞利用非常容易,并且可能导致通过内核拒绝服务崩溃。在没有或绕过堆栈KASLR的情况下,漏洞可能导致任意控制流劫持有效载荷该模块是Linux 4.8版本中的监控框架中引入,并且此后该漏洞一直存在。

漏洞说明

漏洞在于`member_cnt在最初的期间检查,函数不检查是否低于MAX_MON_DOMAIN 定义了 `members` 数组的最大长度。通过伪装成对等节点并与目标建立链接,在本地或远程,能够首先提交恶意域包含任意有效载荷的记录;发送一个更新域记录,将导致之前的恶意记录被 memcpy到一个272字节的本地`struct tipc_mon_domain` &dom_bef[6] 触发堆栈溢出。

这样可以通过覆盖以下堆栈的内容&dom_bef 与来自恶意域的任意成员缓冲区

首先提交的记录;其大小受媒体限制 MTU(以太网、UDP、Inifiband),目前该漏洞已经出现可以利用Poc并可被直接利用:

影响范围

Linux Kernel版本 >= 4.8。

CentOS 8默认内核版本受该漏洞影响。

危害等级

高危(CVSS 评分7.1)

修复建议

将Linux最新内核升级版本。

红帽官方已经发布升级补丁,Centos 8.4可以用过

yum update kernel升级。

cgroups漏洞容器逃逸和任意命令漏洞(CVE-2022-0492)

漏洞存在于Linux内核control groups组件的cgroups的v1版本,该组件用来实现将进程划分成组,并进行CPU、内存、磁盘IO、网络等资源限制。现代容器(docker)广泛依赖cgroups的特性实现。

漏洞说明

CVE-2022-0492的主要是因为对release_agent文件的进程是否具有管理权限(即 CAP_SYS_ADMIN 功能)未进行检查导致。攻击者可以通过release_agent强制内核以提升的权限调用选择的二进制文件并接管机器。由于release_agent 文件的所有者设置为root,该漏洞的利用需要具有“root”权限的进程才能写入文件,因此, 该漏洞仅允许root进程提升权限

运行 AppArmor或SELinux安全系统的容器不受影响。

危害等级

高危(CVSS 评分7.0)

影响范围

所有运行Root权限运行docker容器的宿主机都受漏洞影响。包括CentOS 8,centOS7和centOS 6。

修复和缓解建议

将Linux最新内核升级版本。

排查以root权限启动的容器,以非权限账号启动。

启用 AppArmor 或 SELinux。

启用 Seccomp。

DirtyPipe本地权限提升漏洞 (CVE-2022-0847)

日Linux内核中的一个权限提升漏洞(CVE-2022-0847,简称“Dirty Pipe”),利用该漏洞普通允用户可以通过注入和覆盖任意只读文件中的数据进行权限提升并获得root权限。

漏洞存在于Linux Kernel 5.8 及更高版本的内核。目前该漏洞的PoC/EXP已经发布,可以被直接利用。

漏洞说明

CVE-2022-0847存在于Linux内核5.8及之后版本中的本地提权漏洞。攻击者通过利用此漏洞,可覆盖重写任意可读文件中的数据,从而可将普通权限的用户提升到特权root。由于其利用原理类似于脏牛漏洞(Dirty Cow,CVE-2016-5195),但更容易被利用,该漏洞被命名为“Dirty Pipe”。

危害等级

高危(CVSS 评分7.8)

影响范围

Linux Kernel版本 >= 5.8

Linux Kernel版本 < 5.16.11 / 5.15.25 / 5.10.102

CentOS 8默认内核版本受该漏洞影响。

CentOS 7及以下版本不受CentOS 8

可以具体通过以下命令排查范围:

uname -a

查看当前使用的内核版本,如果该版本在大于5.8则需要更新内核版本到对应的 5.16.11/5.15.25/5.10.102。

修复建议

需要将Linux内核升级至以下安全版本。

Linux 内核 >= 5.16.11

Linux 内核 >= 5.15.25

Linux 内核 >= 5.10.102

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: