方法一:立即升级系统 (推荐)
因各大发行版升级步骤有所差异,故在此不做赘述。但要确认升级的 linux 内核已合并了 a664bf3d603d 提交。
注:linux 内核版本 ≥ 6.18.22,≥ 6.19.12,≥ 7.0 则已修复。
方法二:临时禁用 algif_aead 内核模块
禁用内核模块
echo "install algif_aead /bin/false" > sudo tee /etc/modprobe.d/disable-algif-aead.conf 卸载已加载模块
sudo rmmod algif_aead 2>/dev/null确认漏洞是否缓解
python3 -c 'import socket; s=socket.socket(38,5,0); (s.bind(("aead", "authencesn(hmac(sha256),cbc(aes))")) or print("未缓解")) if s else None' 2>/dev/null || echo "已缓解"注:针对编译进内核的系统(例如:RHEL/CentOS/Rocky Linux/AlmaLinux 8, 9, 10 三代产品),此缓解措施可能无法生效,建议更新官方内核补丁。
可以使用以下方法检查 algif_aead 是否编译进内核:
cat /boot/config-$(uname -r) | grep CONFIG_CRYPTO_USER_API_AEAD若输出 CONFIG_CRYPTO_USER_API_AEAD=y 则说明 algif_aead 已经编译进内核,请更新内核。
升级系统后如何恢复模块
删除拦截配置
sudo rm /etc/modprobe.d/disable-algif-aead.conf重新加载模块
sudo modprobe algif_aead验证模块是否启动
lsmod | grep algif_aead注:若该漏洞已修复,则执行 PoC 会提示输入密码。
参考: