<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[CVE-2026-31431 &quot;Copy Fail&quot;：Linux 内核页缓存 4 字节写漏洞，732 字节 PoC 可通杀 2017 年以来所有主流发行版]]></title><description><![CDATA[<p dir="auto">安全研究团队 Theori 旗下的 Xint Code 于 4 月 29 日公开披露 CVE-2026-31431（“Copy Fail”）——一个在 Linux 内核加密子系统中潜伏近十年的直线逻辑缺陷，无需竞态条件、无需内核版本特定偏移，同一支 732 字节 Python 脚本（仅用标准库）可在 Ubuntu、Amazon Linux、RHEL、SUSE 四大发行版上稳定获取 root shell，并已确认可作为容器逃逸原语横穿 Kubernetes 节点边界（Part 2 技术细节待发）。漏洞根本原因在于三个独立修改在时间轴上的交叉：2011 年 <code>authencesn</code> 加入内核以支持 IPsec ESN 时将调用方目标 scatterlist 当作 ESN 字节交换的临时暂存区；2015 年 <code>AF_ALG</code> 获得 AEAD 支持并引入 <code>splice()</code> 路径，可将页缓存页（包含 setuid 二进制文件的内存镜像）以引用方式直接喂入加密 scatterlist；2017 年 <code>algif_aead.c</code> 引入"就地（in-place）"优化，令 <code>req-&gt;src = req-&gt;dst</code> 且通过 <code>sg_chain()</code> 把页缓存的 tag 页链接到可写目标 scatterlist——至此 <code>authencesn</code> 的越界 4 字节写正好落入页缓存中，而该写入完全绕过 VFS writeback 路径，磁盘文件保持不变，基于磁盘校验的完整性工具无法检测。利用时攻击者以 <code>splice()</code> 将 <code>/usr/bin/su</code> 的页缓存喂入 AF_ALG socket，通过选择 assoclen 与 splice 偏移精确控制写入位置，通过 sendmsg AAD bytes 4–7（seqno_lo）控制写入值，多轮调用后在内存中注入 shellcode，<code>execve("/usr/bin/su")</code> 即触发提权——无需特权，唯需普通本地用户账号。</p>
<p dir="auto">漏洞于 3 月 23 日向 Linux 内核安全团队报告，4 月 1 日主线提交修复（commit <code>a664bf3d603d</code>，撤销 2017 年的 in-place 优化，将 <code>req-&gt;src</code> 与 <code>req-&gt;dst</code> 重新分离为独立 scatterlist），4 月 22 日分配 CVE 编号，4 月 29 日公开披露。主流发行版（RHEL、Ubuntu、SUSE、Debian）正在或已推送含修复的内核包。紧急缓解措施为禁用 <code>algif_aead</code> 模块：执行 <code>echo "install algif_aead /bin/false" &gt; /etc/modprobe.d/disable-algif.conf &amp;&amp; rmmod algif_aead 2&gt;/dev/null</code>；此操作对 dm-crypt/LUKS、kTLS、IPsec/XFRM、OpenSSL 默认构建均无影响，仅影响显式启用 <code>afalg</code> 引擎的少数配置。对 CI runner、容器沙盒、多租户主机等不可信工作负载，无论是否已打补丁均建议通过 seccomp 阻断 <code>AF_ALG</code> socket 创建。</p>
<p dir="auto"><a href="https://copy.fail/" target="_blank" rel="noopener noreferrer nofollow ugc">Copy Fail</a> | <a href="https://xint.io/blog/copy-fail-linux-distributions" target="_blank" rel="noopener noreferrer nofollow ugc">Xint Blog</a> | <a href="https://github.com/theori-io/copy-fail-CVE-2026-31431" target="_blank" rel="noopener noreferrer nofollow ugc">GitHub PoC</a> | <a href="https://access.redhat.com/security/cve/cve-2026-31431" target="_blank" rel="noopener noreferrer nofollow ugc">Red Hat</a> | <a href="https://ubuntu.com/security/CVE-2026-31431" target="_blank" rel="noopener noreferrer nofollow ugc">Ubuntu</a> | <a href="https://security-tracker.debian.org/tracker/CVE-2026-31431" target="_blank" rel="noopener noreferrer nofollow ugc">Debian</a> | <a href="https://www.suse.com/security/cve/CVE-2026-31431.html" target="_blank" rel="noopener noreferrer nofollow ugc">SUSE</a></p>
<p dir="auto"></p><div class="card col-md-9 col-lg-6 position-relative link-preview p-0">



<a href="https://copy.fail/" title="Copy Fail — 732 Bytes to Root">
<img src="https://copy.fail/og.png" class="card-img-top not-responsive" style="max-height:15rem" alt="Link Preview Image" />
</a>



<div class="card-body">
<h5 class="card-title">
<a class="text-decoration-none" href="https://copy.fail/">
Copy Fail — 732 Bytes to Root
</a>
</h5>
<p class="card-text line-clamp-3">Copy Fail (CVE-2026-31431): a 732-byte Linux LPE — straight-line, no race, no per-distro offsets. Same Python script roots Ubuntu, Amazon Linux, RHEL, SUSE since 2017. Page-cache write bypasses on-disk file-integrity tools and crosses container boundaries. Found by Xint Code.</p>
</div>
<a href="https://copy.fail/" class="card-footer text-body-secondary small d-flex gap-2 align-items-center lh-2">



<img src="https://copy.fail/favicon.svg" alt="favicon" class="not-responsive overflow-hiddden" style="max-width:21px;max-height:21px" />



<p class="d-inline-block text-truncate mb-0">Xint <span class="text-secondary">(copy.fail)</span></p>
</a>
</div><p></p>
<p dir="auto"></p><div class="card col-md-9 col-lg-6 position-relative link-preview p-0">



<a href="https://xint.io/blog/copy-fail-linux-distributions" title="Copy Fail: 732 Bytes to Root on Every Major Linux Distribution. - Xint">
<img src="https://inblog.ai/api/og?title=Copy%20Fail%3A%20732%20Bytes%20to%20Root%20on%20Every%20Major%20Linux%20Distribution.&amp;logoUrl=https%3A%2F%2Fsource.inblog.dev%2Flogo%2F2026-04-21T20%3A39%3A21.712Z-fe202dd0-0a7f-41d2-a9bd-88052b6a6250&amp;blogTitle=" class="card-img-top not-responsive" style="max-height:15rem" alt="Link Preview Image" />
</a>



<div class="card-body">
<h5 class="card-title">
<a class="text-decoration-none" href="https://xint.io/blog/copy-fail-linux-distributions">
Copy Fail: 732 Bytes to Root on Every Major Linux Distribution. - Xint
</a>
</h5>
<p class="card-text line-clamp-3">Xint Code disclosed CVE-2026-31431, an authencesn scratch-write bug chaining AF_ALG + splice() into a 4-byte page cache write. A 732-byte PoC gets root on Ubuntu, Amazon Linux, RHEL, SUSE. | AI for Security,  Vulnerability Research</p>
</div>
<a href="https://xint.io/blog/copy-fail-linux-distributions" class="card-footer text-body-secondary small d-flex gap-2 align-items-center lh-2">



<img src="https://image.inblog.dev/?url=https%3A%2F%2Ficons.duckduckgo.com%2Fip3%2Fxint.io.ico&amp;w=48&amp;h=48&amp;q=100&amp;format=png&amp;objectFit=contain" alt="favicon" class="not-responsive overflow-hiddden" style="max-width:21px;max-height:21px" />



<p class="d-inline-block text-truncate mb-0"> <span class="text-secondary">(xint.io)</span></p>
</a>
</div><p></p>
<p dir="auto"></p><div class="card col-md-9 col-lg-6 position-relative link-preview p-0">



<a href="https://github.com/theori-io/copy-fail-CVE-2026-31431" title="GitHub - theori-io/copy-fail-CVE-2026-31431">
<img src="https://opengraph.githubassets.com/8b5dbff18159dc62a0b72ed585272a1324c662f5ace2972f3ff36ab85476c05e/theori-io/copy-fail-CVE-2026-31431" class="card-img-top not-responsive" style="max-height:15rem" alt="Link Preview Image" />
</a>



<div class="card-body">
<h5 class="card-title">
<a class="text-decoration-none" href="https://github.com/theori-io/copy-fail-CVE-2026-31431">
GitHub - theori-io/copy-fail-CVE-2026-31431
</a>
</h5>
<p class="card-text line-clamp-3">Contribute to theori-io/copy-fail-CVE-2026-31431 development by creating an account on GitHub.</p>
</div>
<a href="https://github.com/theori-io/copy-fail-CVE-2026-31431" class="card-footer text-body-secondary small d-flex gap-2 align-items-center lh-2">



<img src="https://github.githubassets.com/favicons/favicon.svg" alt="favicon" class="not-responsive overflow-hiddden" style="max-width:21px;max-height:21px" />



<p class="d-inline-block text-truncate mb-0">GitHub <span class="text-secondary">(github.com)</span></p>
</a>
</div><p></p>
]]></description><link>https://welinux.com//topic/109/cve-2026-31431-copy-fail-linux-内核页缓存-4-字节写漏洞-732-字节-poc-可通杀-2017-年以来所有主流发行版</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 19:35:14 GMT</lastBuildDate><atom:link href="https://welinux.com//topic/109.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Apr 2026 11:17:59 GMT</pubDate><ttl>60</ttl></channel></rss>