<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>CVE on KnightLi的博客</title>
        <link>https://knightli.com/tags/cve/</link>
        <description>Recent content in CVE on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Fri, 22 May 2026 23:13:24 +0800</lastBuildDate><atom:link href="https://knightli.com/tags/cve/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>poc-lab 补丁验证：确认你的系统中近期高危漏洞是否已修复，覆盖 Chrome CSSFontFeatureValuesMap UAF、NGINX Rift、Dirty Frag、Fragnesia</title>
        <link>https://knightli.com/2026/05/22/poc-lab-recent-cve-poc-reproduction-scripts/</link>
        <pubDate>Fri, 22 May 2026 23:13:24 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/22/poc-lab-recent-cve-poc-reproduction-scripts/</guid>
        <description>&lt;p&gt;&lt;code&gt;poc-lab&lt;/code&gt; 是一个面向近期高严重性漏洞的 PoC 与复现脚本仓库，重点收集新披露、有影响力的 CVE 复现材料。项目覆盖范围包括 Linux 内核、Windows、macOS、容器、服务组件和浏览器相关漏洞。&lt;/p&gt;
&lt;p&gt;从仓库定位看，它更像是一个安全研究资料库，而不是面向普通用户的一键工具合集。每个漏洞目录通常会包含 PoC 脚本、构建文件和说明文档，用来帮助研究人员理解漏洞影响、复现条件和参考资料。&lt;/p&gt;
&lt;h2 id=&#34;项目主要内容&#34;&gt;项目主要内容
&lt;/h2&gt;&lt;p&gt;仓库当前按照漏洞编号或漏洞名称组织目录。已经列出的完整漏洞名称包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-2441&lt;/code&gt;：Chrome &lt;code&gt;CSSFontFeatureValuesMap&lt;/code&gt; use-after-free，简称 Chrome CSSFontFeatureValuesMap UAF。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-27623&lt;/code&gt;：Pre-Authentication Denial of Service from malformed RESP request，即畸形 RESP 请求导致的预认证拒绝服务漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-31429&lt;/code&gt;：Slab Cross-Cache，Linux 内核 slab 跨缓存利用方向漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-31431&lt;/code&gt;：Copy Fail，Linux 内核相关漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-31635&lt;/code&gt;：DirtyDecrypt，系统安全边界相关漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-42945&lt;/code&gt;：NGINX Rift，NGINX 相关高危漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-43284&lt;/code&gt;：Dirty Frag，Linux 内核相关漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-43494&lt;/code&gt;：PinTheft，权限或凭据安全边界相关漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-43500&lt;/code&gt;：Dirty Frag，Linux 内核相关漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-46300&lt;/code&gt;：Fragnesia，Linux 内核相关漏洞。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CVE-2026-46333&lt;/code&gt;：SSH Keysign pwn，SSH keysign 安全边界相关漏洞。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些名称可以看出，项目关注的不只是单一平台，而是横跨浏览器、Linux 内核、服务端组件和系统安全边界。对做漏洞分析、补丁验证、检测规则编写和安全课程实验的人来说，这类资料有一定参考价值。&lt;/p&gt;
&lt;h2 id=&#34;目录结构&#34;&gt;目录结构
&lt;/h2&gt;&lt;p&gt;项目 README 中说明，每个漏洞目录会尽量保持一致结构。常见文件包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;exploit.py&lt;/code&gt; 或 &lt;code&gt;exploit.sh&lt;/code&gt;：PoC 脚本&lt;/li&gt;
&lt;li&gt;&lt;code&gt;README.md&lt;/code&gt;：漏洞信息、影响版本、复现步骤和参考资料&lt;/li&gt;
&lt;li&gt;&lt;code&gt;build&lt;/code&gt; 或相关构建文件：用于编译或准备复现环境&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;仓库结构大致如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;poc-lab/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── CVE-2026-XXXXX/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── exploit
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── VULN-NAME/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── exploit.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果漏洞已经分配 CVE 编号，目录会优先使用 CVE 命名；如果还没有 CVE，则可能使用公开漏洞名称。&lt;/p&gt;
&lt;h2 id=&#34;适合哪些场景&#34;&gt;适合哪些场景
&lt;/h2&gt;&lt;p&gt;这类仓库更适合以下用途：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;安全研究人员复现漏洞触发条件。&lt;/li&gt;
&lt;li&gt;企业安全团队验证补丁是否生效。&lt;/li&gt;
&lt;li&gt;检测工程师编写 IDS、EDR、WAF 或日志检测规则。&lt;/li&gt;
&lt;li&gt;安全课程或内部培训中构建隔离实验环境。&lt;/li&gt;
&lt;li&gt;研究人员对比不同漏洞的利用前提和防护思路。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它不适合直接用于生产环境扫描，也不应该用于未授权系统。PoC 的价值在于帮助理解风险和验证防护，而不是扩大攻击面。&lt;/p&gt;
&lt;h2 id=&#34;使用时需要注意什么&#34;&gt;使用时需要注意什么
&lt;/h2&gt;&lt;p&gt;第一，必须在隔离环境中测试。漏洞复现可能触发崩溃、权限变化、文件损坏或服务不可用，不应在办公机、生产服务器或第三方系统上直接运行。&lt;/p&gt;
&lt;p&gt;第二，要先阅读每个漏洞目录内的 &lt;code&gt;README.md&lt;/code&gt;。不同 PoC 的依赖、目标版本、触发条件和风险不同，只看根目录说明远远不够。&lt;/p&gt;
&lt;p&gt;第三，要确认授权边界。即便只是运行公开 PoC，只要目标系统不属于自己或没有明确授权，就可能带来法律和合规风险。&lt;/p&gt;
&lt;p&gt;第四，复现完成后应回到防护层面。包括确认补丁版本、补充检测规则、检查暴露面、更新资产清单和沉淀应急流程。&lt;/p&gt;
&lt;h2 id=&#34;为什么这类仓库值得关注&#34;&gt;为什么这类仓库值得关注
&lt;/h2&gt;&lt;p&gt;近年来，高危漏洞从披露到出现公开利用细节的时间越来越短。对防守方来说，只有安全公告和 CVE 描述通常不够，还需要理解漏洞在真实环境中的触发条件、利用限制和检测信号。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;poc-lab&lt;/code&gt; 这类仓库的意义在于，把分散的高危漏洞复现材料按目录整理起来，让研究者能更快完成风险验证。它不替代官方公告、厂商补丁和安全基线，但可以作为补丁验证和检测工程的补充资料。&lt;/p&gt;
&lt;p&gt;不过也要看到风险：公开 PoC 会降低复现门槛。如果组织内部没有及时补丁管理和资产梳理能力，公开复现材料可能会放大暴露窗口。因此，对企业安全团队来说，关注这类项目的同时，更重要的是建立快速评估和修复流程。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;poc-lab&lt;/code&gt; 是一个近期高危漏洞 PoC 与复现脚本集合，覆盖 Linux 内核、浏览器、服务组件和系统安全相关问题。它适合安全研究、补丁验证和检测规则开发，但必须放在授权、隔离和负责任披露的边界内使用。&lt;/p&gt;
&lt;p&gt;对普通读者来说，关注这类项目的重点不是“怎么运行 PoC”，而是理解一个事实：高危漏洞公开后的验证和利用节奏正在加快，安全团队需要更快完成资产识别、补丁评估、检测补充和风险闭环。&lt;/p&gt;
&lt;p&gt;参考资料：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub 项目：https://github.com/Unclecheng-li/poc-lab/tree/main&lt;/li&gt;
&lt;li&gt;中文 README：https://github.com/Unclecheng-li/poc-lab/blob/main/README.zh-CN.md&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>CVE-2026-43494 / PinTheft：Linux RDS 与 io_uring 组合出的本地提权风险</title>
        <link>https://knightli.com/2026/05/22/linux-kernel-cve-2026-43494-pintheft/</link>
        <pubDate>Fri, 22 May 2026 15:16:59 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/22/linux-kernel-cve-2026-43494-pintheft/</guid>
        <description>&lt;p&gt;&lt;code&gt;CVE-2026-43494&lt;/code&gt; 是一个 Linux 内核本地权限提升风险，外界也用 &lt;code&gt;PinTheft&lt;/code&gt; 来称呼相关利用链。它的关键不在于远程入口，而在于本地低权限用户能否同时碰到 RDS zerocopy、&lt;code&gt;io_uring&lt;/code&gt; fixed buffer、可读 SUID-root 程序和合适的内核版本。&lt;/p&gt;
&lt;p&gt;需要先说明一个编号细节：&lt;code&gt;Unclecheng-li/poc-lab&lt;/code&gt; 仓库目录名写的是 &lt;code&gt;CVE-2026-43494 PinTheft&lt;/code&gt;，README 标题里又写了 &lt;code&gt;QVD-2026-27616 — PinTheft&lt;/code&gt;。从公开 CVE 条目和第三方通告看，&lt;code&gt;CVE-2026-43494&lt;/code&gt; 指向的是 Linux kernel RDS zerocopy 中 &lt;code&gt;op_nents&lt;/code&gt; 未正确重置引发的 double-free / 引用计数异常问题；&lt;code&gt;QVD-2026-27616&lt;/code&gt; 更像是奇安信风险通告编号。实际排查时建议同时记录这两个标识，但以发行版安全公告和内核补丁状态为准。&lt;/p&gt;
&lt;h2 id=&#34;漏洞核心是什么&#34;&gt;漏洞核心是什么
&lt;/h2&gt;&lt;p&gt;这个问题出现在 Linux RDS，也就是 Reliable Datagram Sockets 的 zerocopy 发送路径中。公开描述里的关键函数是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rds_message_zcopy_from_user()
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rds_message_purge()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;当 &lt;code&gt;iov_iter_get_pages2()&lt;/code&gt; 在 &lt;code&gt;rds_message_zcopy_from_user()&lt;/code&gt; 中失败时，已经 pin 住的页面会先被错误路径释放；但相关 &lt;code&gt;op_nents&lt;/code&gt; 信息没有被正确清零，后续 &lt;code&gt;rds_message_purge()&lt;/code&gt; 仍可能按残留条目再释放一次。结果就是同一批页面引用被多减，形成可被利用的引用计数错误。&lt;/p&gt;
&lt;p&gt;单看 RDS bug，它是内核内存管理里的错误路径问题。PinTheft 的危险之处在于利用链把它和 &lt;code&gt;io_uring&lt;/code&gt; 固定缓冲区机制连了起来：&lt;code&gt;io_uring&lt;/code&gt; 仍保存着旧的 &lt;code&gt;struct page *&lt;/code&gt;，而页面本身已经被释放并重新分配给其他用途。PoC 进一步把这个状态引向 SUID-root 程序的 page cache 覆写，最终达到本地提权。&lt;/p&gt;
&lt;h2 id=&#34;为什么叫-pintheft&#34;&gt;为什么叫 PinTheft
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;io_uring REGISTER_BUFFERS&lt;/code&gt; 会固定用户页。对普通页面来说，&lt;code&gt;FOLL_PIN&lt;/code&gt; 并不只是简单增加一个引用，而是通过较大的 bias 增加 page refcount。公开 PoC 中使用了 &lt;code&gt;GUP_PIN_COUNTING_BIAS = 1024&lt;/code&gt; 这个概念。&lt;/p&gt;
&lt;p&gt;PinTheft 这个名字的意思就是：攻击链通过 RDS zerocopy 的失败路径，一次次“偷走”这些 pin 引用。等引用被耗掉后，&lt;code&gt;io_uring&lt;/code&gt; 仍以为自己持有有效页面，但该物理页已经可以被释放并被 page cache 重新占用。&lt;/p&gt;
&lt;p&gt;这类漏洞容易被误读成“直接改了磁盘上的 &lt;code&gt;/usr/bin/su&lt;/code&gt;”。更准确的说法是：利用链尝试覆写的是内存中的 page cache。文件本体不一定被写回磁盘，但内核执行该 SUID 程序时可能从被污染的页缓存取指令，从而运行攻击载荷。&lt;/p&gt;
&lt;h2 id=&#34;触发条件并不宽&#34;&gt;触发条件并不宽
&lt;/h2&gt;&lt;p&gt;这不是一个“任意 Linux 服务器都能远程打”的漏洞。公开信息显示，利用链至少依赖这些条件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内核启用了 &lt;code&gt;CONFIG_RDS&lt;/code&gt; 和 &lt;code&gt;CONFIG_RDS_TCP&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;系统启用了 &lt;code&gt;CONFIG_IO_URING&lt;/code&gt;，且 &lt;code&gt;kernel.io_uring_disabled=0&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rds&lt;/code&gt; / &lt;code&gt;rds_tcp&lt;/code&gt; 模块已经加载，或低权限用户可以触发自动加载。&lt;/li&gt;
&lt;li&gt;本地存在可读的 SUID-root 二进制程序，例如 &lt;code&gt;/usr/bin/su&lt;/code&gt;、&lt;code&gt;/usr/bin/passwd&lt;/code&gt;、&lt;code&gt;/usr/bin/pkexec&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;公开 PoC 还依赖较新的 &lt;code&gt;IORING_REGISTER_CLONE_BUFFERS&lt;/code&gt; API，CloudLinux 的分析提到公共 PoC 更偏向 kernel 6.13 及以上形态。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;只要其中一环不成立，公开链路就会断掉。比如很多 RHEL 系发行版默认不编译 RDS，Ubuntu 旧内核可能缺少 PoC 需要的 &lt;code&gt;io_uring&lt;/code&gt; clone buffer API，部分环境也会限制非特权用户自动加载 RDS 模块。&lt;/p&gt;
&lt;h2 id=&#34;一分钟自查&#34;&gt;一分钟自查
&lt;/h2&gt;&lt;p&gt;先看内核配置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zgrep -E &lt;span class=&#34;s2&#34;&gt;&amp;#34;CONFIG_(RDS|RDS_TCP|IO_URING)&amp;#34;&lt;/span&gt; /proc/config.gz 2&amp;gt;/dev/null &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; grep -E &lt;span class=&#34;s2&#34;&gt;&amp;#34;CONFIG_(RDS|RDS_TCP|IO_URING)&amp;#34;&lt;/span&gt; /boot/config-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;uname -r&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;再看 &lt;code&gt;io_uring&lt;/code&gt; 是否被禁用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat /proc/sys/kernel/io_uring_disabled 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;常见含义可以按这个思路理解：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;0&lt;/code&gt;：允许使用，风险面最大。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1&lt;/code&gt;：限制非特权用户使用，具体行为看内核版本和发行版策略。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;2&lt;/code&gt;：禁用 &lt;code&gt;io_uring&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;检查 RDS 模块是否存在、是否可加载：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lsmod &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -E &lt;span class=&#34;s2&#34;&gt;&amp;#34;^rds|^rds_tcp&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;modprobe -n -v rds_tcp 2&amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; head -3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果 &lt;code&gt;CONFIG_RDS&lt;/code&gt; 是 &lt;code&gt;not set&lt;/code&gt;，或者系统根本没有 &lt;code&gt;rds_tcp&lt;/code&gt; 模块，通常就无法走到这个 bug。反过来，如果 RDS 可用、&lt;code&gt;io_uring&lt;/code&gt; 未禁用、系统又是较新的通用内核，就应该提高优先级继续确认发行版修复状态。&lt;/p&gt;
&lt;h2 id=&#34;哪些机器更值得优先看&#34;&gt;哪些机器更值得优先看
&lt;/h2&gt;&lt;p&gt;优先排查这些环境：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;多用户 Linux 主机、教学机、跳板机、共享开发机。&lt;/li&gt;
&lt;li&gt;容器宿主机，尤其是允许不可信本地用户或较宽松容器逃逸面的环境。&lt;/li&gt;
&lt;li&gt;开启较新 mainline / rolling kernel 的桌面或服务器，例如 Arch 一类滚动发行版。&lt;/li&gt;
&lt;li&gt;HPC、Oracle RAC 或其他可能真实使用 RDS 的场景。&lt;/li&gt;
&lt;li&gt;允许非特权用户运行大量本地代码的 CI worker、构建机和实验环境。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;普通 Web 服务如果只有受控服务账号运行应用，并且 RDS 未启用，实际风险会低很多。但“低很多”不等于不用处理：内核本地提权的典型影响是攻击者先通过 Web、SSH、CI、容器或应用漏洞拿到低权限，再用本地提权扩大控制面。&lt;/p&gt;
&lt;h2 id=&#34;临时缓解建议&#34;&gt;临时缓解建议
&lt;/h2&gt;&lt;p&gt;正式修复仍应以发行版内核更新为准。补丁、回溯版本和受影响范围需要看 Debian、Ubuntu、RHEL、AlmaLinux、Rocky Linux、SUSE、Arch、云厂商或容器基础镜像各自的安全公告，不要只按上游版本号判断。&lt;/p&gt;
&lt;p&gt;在等待补丁或无法马上重启内核时，可以按环境选择临时措施：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 如果业务不依赖 RDS，可阻止相关模块加载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sh -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;printf &amp;#39;install rds /bin/false\ninstall rds_tcp /bin/false\ninstall rds_rdma /bin/false\n&amp;#39; &amp;gt; /etc/modprobe.d/pintheft.conf&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rmmod rds_tcp 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rmmod rds_rdma 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rmmod rds 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果业务不依赖 &lt;code&gt;io_uring&lt;/code&gt;，也可以考虑禁用或限制它：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sysctl -w kernel.io_uring_disabled&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;持久化配置需要写入对应的 &lt;code&gt;/etc/sysctl.d/*.conf&lt;/code&gt;。不过这一步要谨慎，现代数据库、代理、运行时或高性能 I/O 程序可能使用 &lt;code&gt;io_uring&lt;/code&gt;；生产环境修改前最好先确认业务依赖。&lt;/p&gt;
&lt;h2 id=&#34;修复后怎么验证&#34;&gt;修复后怎么验证
&lt;/h2&gt;&lt;p&gt;升级内核后，不要只看包管理器输出成功。建议确认三件事：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat /proc/sys/kernel/io_uring_disabled 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;modprobe -n -v rds_tcp 2&amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; head -3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果发行版公告明确写明已修复 &lt;code&gt;CVE-2026-43494&lt;/code&gt;，即使 &lt;code&gt;uname -r&lt;/code&gt; 看起来不是最新上游版本，也可能是已经回溯补丁的稳定内核。反过来，如果内核来源是自编译、第三方仓库、云市场镜像或容器宿主机模板，就要继续核对补丁 commit 和构建时间。&lt;/p&gt;
&lt;h2 id=&#34;参考信息&#34;&gt;参考信息
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Unclecheng-li/poc-lab/tree/main/CVE-2026-43494%20PinTheft&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unclecheng-li/poc-lab：CVE-2026-43494 PinTheft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dbugs.ptsecurity.com/vulnerability/PT-2026-42451&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dbugs：CVE-2026-43494&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.cloudlinux.com/pintheft-cloudlinux-platforms-not-affected&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CloudLinux：PinTheft (CVE-2026-43494) kernel LPE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://git.kernel.org/stable/c/e174929793195e0cd6a4adb0cad731b39f9019b4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Linux stable commit：net/rds reset op_nents when zerocopy page pin fails&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>近期四个 Linux 本地提权漏洞影响梳理：Copy Fail、Dirty Frag、Fragnesia 与 ssh-keysign-pwn</title>
        <link>https://knightli.com/2026/05/20/linux-lpe-four-vulnerabilities-impact-summary/</link>
        <pubDate>Wed, 20 May 2026 23:00:37 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/20/linux-lpe-four-vulnerabilities-impact-summary/</guid>
        <description>&lt;p&gt;最近 Linux 生态连续出现几起高关注度的本地安全问题。单独看，它们分别落在加密接口、网络/IPsec 路径、页缓存处理、ptrace 访问检查等不同位置；放在一起看，真正值得警惕的是同一个结论：只要攻击者已经拿到低权限本地执行点，Linux 宿主机、容器节点、CI 机器和多用户服务器的风险都会被明显放大。&lt;/p&gt;
&lt;p&gt;本文重点不复述每个漏洞的技术细节，而是整理它们对实际环境的影响，并给出站内四篇单独分析文章作为延伸阅读。&lt;/p&gt;
&lt;h2 id=&#34;四次事件分别影响什么&#34;&gt;四次事件分别影响什么
&lt;/h2&gt;&lt;p&gt;近期最需要关注的四个风险是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Copy Fail（CVE-2026-31431）：低权限本地用户可能通过内核加密相关路径影响页缓存，从而扩大权限。&lt;/li&gt;
&lt;li&gt;Dirty Frag（CVE-2026-43284 / CVE-2026-43500 相关）：风险集中在 xfrm/ESP、RxRPC 等网络和内核数据路径，后渗透阶段危害很高。&lt;/li&gt;
&lt;li&gt;Fragnesia（CVE-2026-46300）：与 Dirty Frag 相近，同样围绕 XFRM ESP-in-TCP、共享 fragment 和页缓存写入风险展开。&lt;/li&gt;
&lt;li&gt;ssh-keysign-pwn（CVE-2026-46333）：不是直接 root shell 类型漏洞，而是本地信息泄露风险，可能读取 SSH 主机私钥、&lt;code&gt;/etc/shadow&lt;/code&gt; 等敏感文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这四类问题的入口不同，缓解方式也不完全一样。不能因为处理了 Copy Fail，就默认 Dirty Frag 和 Fragnesia 也安全；也不能因为禁用了某些网络模块，就认为 ssh-keysign-pwn 的信息泄露风险自动消失。&lt;/p&gt;
&lt;h2 id=&#34;copy-fail容器和-ci-节点优先级很高&#34;&gt;Copy Fail：容器和 CI 节点优先级很高
&lt;/h2&gt;&lt;p&gt;Copy Fail 的关键影响不是“某个应用崩溃”，而是低权限执行能力可能被转化为 root 权限。它对以下环境尤其敏感：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;允许用户上传或运行代码的 CI/CD 节点。&lt;/li&gt;
&lt;li&gt;托管不可信工作负载的容器宿主机。&lt;/li&gt;
&lt;li&gt;开发测试机、跳板机、共享服务器。&lt;/li&gt;
&lt;li&gt;运行旧内核且补丁节奏较慢的云主机。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Copy Fail 的危险点在于攻击门槛偏低，而且容易和容器场景叠加。很多团队把容器当作强隔离边界，但普通容器默认仍共享宿主机内核。如果攻击者能在容器内获得 shell，内核本地提权就可能把容器问题放大为宿主机问题。&lt;/p&gt;
&lt;p&gt;详细分析见站内文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/&#34; &gt;Copy Fail 漏洞 CVE-2026-31431：Linux 内核文件复制路径中的容器逃逸风险&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;dirty-frag后渗透阶段的放大器&#34;&gt;Dirty Frag：后渗透阶段的放大器
&lt;/h2&gt;&lt;p&gt;Dirty Frag 更像是攻击者进入系统后的权限放大工具。它不是典型的远程无认证漏洞，前提通常是攻击者已经通过弱口令、WebShell、低权限服务账号、容器任务或其他方式获得本地执行能力。&lt;/p&gt;
&lt;p&gt;它的实际影响主要体现在：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;已被入侵的低权限账号可能进一步变成 root。&lt;/li&gt;
&lt;li&gt;容器环境中的低权限执行点可能威胁宿主机。&lt;/li&gt;
&lt;li&gt;使用 IPsec、ESP、RxRPC 或相关内核网络能力的系统需要谨慎评估补丁和临时缓解。&lt;/li&gt;
&lt;li&gt;安全团队不能只看边界防护，还要关注入侵后的提权链条。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dirty Frag 提醒运维团队：本地提权漏洞虽然不是第一入口，却可能决定一次入侵最终能走多远。只要存在低权限落点，攻击者就会寻找内核漏洞把权限推到最高。&lt;/p&gt;
&lt;p&gt;详细分析见站内文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/09/dirty-frag-cve-2026-43284-linux-lpe-mitigation/&#34; &gt;Dirty Frag CVE-2026-43284：Linux 本地提权漏洞风险与缓解指南&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;fragnesia同类攻击面没有一次性清干净&#34;&gt;Fragnesia：同类攻击面没有一次性清干净
&lt;/h2&gt;&lt;p&gt;Fragnesia 的重要性在于，它说明 Dirty Frag 附近的攻击面并不是一个孤立问题。即使某个漏洞被修复，相邻路径、相似数据结构、相同模块组合里仍可能存在新的可利用点。&lt;/p&gt;
&lt;p&gt;它对运维的影响主要是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不能只按漏洞名称做一次性处置，要按攻击面持续检查。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;、XFRM、ESP-in-TCP 等相关路径需要结合业务依赖评估。&lt;/li&gt;
&lt;li&gt;如果系统不依赖相关网络能力，可以考虑临时禁用，但必须先在测试环境确认不会影响 VPN、IPsec、隧道或内部网络功能。&lt;/li&gt;
&lt;li&gt;页缓存污染类风险可能带来“看似文件没改，实际执行路径受影响”的检测盲点。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fragnesia 对企业最大的提醒是：补丁管理不能只盯单个 CVE。更稳妥的做法是围绕子系统和攻击面建立清单，确认哪些机器暴露相关能力，哪些业务真正需要这些模块。&lt;/p&gt;
&lt;p&gt;详细分析见站内文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/&#34; &gt;Fragnesia (CVE-2026-46300)：Linux 内核本地提权漏洞影响与缓解&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;ssh-keysign-pwn不直接-root也足够危险&#34;&gt;ssh-keysign-pwn：不直接 root，也足够危险
&lt;/h2&gt;&lt;p&gt;ssh-keysign-pwn 与前三个漏洞的性质不同。它更偏向本地敏感信息泄露，不是直接拿 root shell 的漏洞。但在真实攻击中，敏感信息泄露常常能变成更严重的后果。&lt;/p&gt;
&lt;p&gt;它的影响重点包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SSH host private keys 泄露后，可能影响主机身份可信度。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/shadow&lt;/code&gt; 等文件被读取后，可能引发离线破解和账号接管。&lt;/li&gt;
&lt;li&gt;多用户服务器、跳板机、构建机、共享开发机风险更高。&lt;/li&gt;
&lt;li&gt;即使攻击者没有立刻提权，也可能拿到后续横向移动需要的凭据材料。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类问题容易被低估，因为它没有“直接 root shell”那么刺激。但对企业环境来说，密钥和密码哈希泄露往往意味着更长周期的清理：轮换 SSH 主机密钥、排查信任关系、检查账号密码、审计登录日志，都可能成为必要动作。&lt;/p&gt;
&lt;p&gt;详细分析见站内文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/17/ssh-keysign-pwn-cve-2026-46333/&#34; &gt;ssh-keysign-pwn（CVE-2026-46333）解读：Linux 本地信息泄露、SSH 主机密钥与 /etc/shadow 风险&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;共同影响容器隔离不能再被当作强边界&#34;&gt;共同影响：容器隔离不能再被当作强边界
&lt;/h2&gt;&lt;p&gt;这四次事件合在一起，最直接的影响是重新提醒大家：普通容器隔离不是虚拟机隔离。&lt;/p&gt;
&lt;p&gt;Docker、containerd 和 Kubernetes 依赖 namespace、cgroup、capabilities、seccomp、AppArmor 或 SELinux 等机制减少攻击面，但它们通常仍共享宿主机内核。只要漏洞发生在共享内核里，容器内的低权限执行点就可能成为攻击入口。&lt;/p&gt;
&lt;p&gt;高风险环境应重点检查：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;是否允许不可信代码运行在共享宿主机上。&lt;/li&gt;
&lt;li&gt;容器是否默认 root 用户运行。&lt;/li&gt;
&lt;li&gt;是否授予了不必要的 capabilities。&lt;/li&gt;
&lt;li&gt;seccomp 配置是否过宽。&lt;/li&gt;
&lt;li&gt;多租户工作负载是否应该迁移到 gVisor、Kata Containers、Firecracker microVM、独立虚拟机或专用节点。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对 CI/CD 平台尤其要谨慎。构建任务天然会运行外部代码、依赖安装脚本、测试脚本和临时二进制。如果这些任务与长期服务共享宿主机，一次本地提权就可能影响更大的基础设施。&lt;/p&gt;
&lt;h2 id=&#34;共同影响补丁必须落到正在运行的内核&#34;&gt;共同影响：补丁必须落到“正在运行的内核”
&lt;/h2&gt;&lt;p&gt;Linux 内核补丁有一个很常见的误区：包管理器显示已经更新，不代表机器正在运行新内核。&lt;/p&gt;
&lt;p&gt;运维上至少要确认三件事：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;确认当前运行内核版本。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dpkg -l &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep linux-image
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或在 RHEL 系发行版上：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm -qa &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep kernel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;确认已安装内核包。&lt;/p&gt;
&lt;p&gt;最后，还要确认机器已经重启到修复后的内核。对不能重启的核心业务，要评估 livepatch、热补丁或短期隔离方案，但不要把临时缓解当作最终修复。&lt;/p&gt;
&lt;h2 id=&#34;共同影响攻击面最小化要具体到模块和系统调用&#34;&gt;共同影响：攻击面最小化要具体到模块和系统调用
&lt;/h2&gt;&lt;p&gt;这几次漏洞涉及的路径提醒我们，Linux 加固不能只停留在“更新系统”和“开防火墙”。&lt;/p&gt;
&lt;p&gt;更具体的检查方向包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AF_ALG / &lt;code&gt;algif_aead&lt;/code&gt; 是否被业务使用。&lt;/li&gt;
&lt;li&gt;XFRM、ESP、ESP-in-TCP、IPsec 是否被 VPN、隧道或安全网关依赖。&lt;/li&gt;
&lt;li&gt;RxRPC 是否需要启用。&lt;/li&gt;
&lt;li&gt;非特权用户命名空间是否必须开放。&lt;/li&gt;
&lt;li&gt;容器是否能创建过宽的 socket 类型。&lt;/li&gt;
&lt;li&gt;ptrace 访问策略是否过松。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果业务确实不需要某些能力，可以评估禁用模块、调整 sysctl、收紧 seccomp、减少 capabilities。生产环境不要盲目复制命令，应先盘点依赖，再灰度执行。&lt;/p&gt;
&lt;h2 id=&#34;建议的处置顺序&#34;&gt;建议的处置顺序
&lt;/h2&gt;&lt;p&gt;第一，优先修复可本地执行代码的高暴露机器：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;容器宿主机。&lt;/li&gt;
&lt;li&gt;CI/CD runner。&lt;/li&gt;
&lt;li&gt;跳板机。&lt;/li&gt;
&lt;li&gt;多用户服务器。&lt;/li&gt;
&lt;li&gt;对外服务所在主机。&lt;/li&gt;
&lt;li&gt;运行不可信插件、脚本、扩展的系统。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第二，确认发行版公告和实际运行内核。不要只看上游版本号，Debian、Ubuntu、RHEL、AlmaLinux、Rocky Linux、SUSE、openEuler 等发行版可能会 backport 安全补丁。&lt;/p&gt;
&lt;p&gt;第三，收紧容器运行策略。尽量做到非 root 用户、最小 capabilities、&lt;code&gt;no-new-privileges&lt;/code&gt;、只读文件系统、明确 seccomp 和 AppArmor/SELinux 策略。&lt;/p&gt;
&lt;p&gt;第四，检查密钥和凭据风险。尤其是涉及 ssh-keysign-pwn 的环境，应评估 SSH host key、&lt;code&gt;/etc/shadow&lt;/code&gt;、跳板机凭据和 CI secrets 是否需要轮换。&lt;/p&gt;
&lt;p&gt;第五，补上监控。重点关注异常 root shell、可疑本地提权 PoC、关键文件修改、异常 ptrace 行为、容器进程访问宿主机路径、CI 节点上的异常网络连接。&lt;/p&gt;
&lt;h2 id=&#34;结论&#34;&gt;结论
&lt;/h2&gt;&lt;p&gt;这四次事件的重点不是“Linux 不安全了”，而是“默认信任不够用了”。&lt;/p&gt;
&lt;p&gt;Linux 仍然是透明、可修复、可裁剪、可加固的主流系统。但在容器、CI、多租户和 AI 自动化代码执行越来越普遍的环境里，低权限执行点已经不能被看作小问题。只要内核里存在可利用的本地提权或敏感信息泄露漏洞，局部入侵就可能变成宿主机控制、凭据泄露或横向移动。&lt;/p&gt;
&lt;p&gt;更现实的做法是把这四次事件当成一次提醒：补丁要快，重启要确认，模块要按需启用，容器要收紧，密钥要能轮换，多租户要重新评估隔离等级。&lt;/p&gt;
&lt;p&gt;站内延伸阅读：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/&#34; &gt;Copy Fail 漏洞 CVE-2026-31431：Linux 内核文件复制路径中的容器逃逸风险&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/09/dirty-frag-cve-2026-43284-linux-lpe-mitigation/&#34; &gt;Dirty Frag CVE-2026-43284：Linux 本地提权漏洞风险与缓解指南&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/&#34; &gt;Fragnesia (CVE-2026-46300)：Linux 内核本地提权漏洞影响与缓解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/05/17/ssh-keysign-pwn-cve-2026-46333/&#34; &gt;ssh-keysign-pwn（CVE-2026-46333）解读：Linux 本地信息泄露、SSH 主机密钥与 /etc/shadow 风险&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>ssh-keysign-pwn（CVE-2026-46333）解读：Linux 本地信息泄露、SSH 主机密钥与 /etc/shadow 风险</title>
        <link>https://knightli.com/2026/05/17/ssh-keysign-pwn-cve-2026-46333/</link>
        <pubDate>Sun, 17 May 2026 09:29:03 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/17/ssh-keysign-pwn-cve-2026-46333/</guid>
        <description>&lt;p&gt;&lt;code&gt;ssh-keysign-pwn&lt;/code&gt; 是围绕 Linux kernel &lt;code&gt;__ptrace_may_access()&lt;/code&gt; 逻辑问题公开的一组利用路径，CVE 编号为 &lt;code&gt;CVE-2026-46333&lt;/code&gt;。它不是远程无认证漏洞，也不是直接拿 root shell 的漏洞，但风险仍然很高：本地低权限用户可能读取本不该访问的 root 敏感文件，例如 SSH 主机私钥或 &lt;code&gt;/etc/shadow&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;对运维来说，重点不是复现 PoC，而是尽快判断哪些机器受影响、升级内核、重启生效，并在必要时轮换 SSH host keys 和重置密码。&lt;/p&gt;
&lt;h2 id=&#34;先说结论&#34;&gt;先说结论
&lt;/h2&gt;&lt;p&gt;这次漏洞的处置优先级很高，原因有四点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;触发条件是本地低权限用户，不需要 root。&lt;/li&gt;
&lt;li&gt;已有公开 PoC，利用门槛明显降低。&lt;/li&gt;
&lt;li&gt;影响目标不是普通文件，而可能是 SSH 主机私钥和 &lt;code&gt;/etc/shadow&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;修复需要内核补丁并重启，不能只升级包后不重启。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你的服务器有多用户、本地 shell、共享主机、CI runner、容器宿主机、学生机房、跳板机或任何“不完全可信本地用户”，应该优先处理。&lt;/p&gt;
&lt;h2 id=&#34;漏洞是什么&#34;&gt;漏洞是什么
&lt;/h2&gt;&lt;p&gt;Qualys 在 2026 年 5 月 15 日通过 oss-security 公开说明：他们此前向 &lt;code&gt;security@kernel.org&lt;/code&gt; 报告了 Linux kernel &lt;code&gt;__ptrace_may_access()&lt;/code&gt; 的逻辑问题，上游修复已经由 Linus 合入。随后社区出现了公开利用代码，因此 Qualys 将信息发到 oss-security。&lt;/p&gt;
&lt;p&gt;Linux kernel CVE 团队随后为这个问题分配了 &lt;code&gt;CVE-2026-46333&lt;/code&gt;。NVD 页面显示该 CVE 来源为 kernel.org，问题描述对应内核提交 &lt;code&gt;ptrace: slightly saner &#39;get_dumpable()&#39; logic&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;简单说，这个漏洞出现在进程退出路径上。某些特权进程正在退出时，内核里与 &lt;code&gt;ptrace&lt;/code&gt; 访问检查相关的逻辑可能因为目标任务已经没有 &lt;code&gt;mm&lt;/code&gt; 而绕过本应依赖的 dumpable 检查。攻击者可以在很窄的竞态窗口中，拿到正在退出的特权进程仍然打开着的文件描述符。&lt;/p&gt;
&lt;p&gt;这也是为什么它被叫作 &lt;code&gt;ssh-keysign-pwn&lt;/code&gt;：公开利用路径之一会围绕 &lt;code&gt;ssh-keysign&lt;/code&gt; 读取 SSH host private keys。&lt;/p&gt;
&lt;h2 id=&#34;为什么能读到-ssh-主机私钥和-etcshadow&#34;&gt;为什么能读到 SSH 主机私钥和 /etc/shadow
&lt;/h2&gt;&lt;p&gt;这个问题本质上是本地信息泄露。它利用的是特权程序在退出过程中“内存描述符已经脱离，但文件描述符还没关闭”的时间窗口。&lt;/p&gt;
&lt;p&gt;AlmaLinux 的公告对风险讲得比较清楚：如果特权程序在降权前打开了敏感文件，而攻击者在退出窗口中成功拿到对应文件描述符，就可能读取这些敏感文件。&lt;/p&gt;
&lt;p&gt;公开讨论中常见的两个目标是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ssh-keysign&lt;/code&gt;：可能涉及 &lt;code&gt;/etc/ssh/ssh_host_*_key&lt;/code&gt; 这类 SSH 主机私钥。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chage&lt;/code&gt;：可能涉及 &lt;code&gt;/etc/shadow&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;SSH 主机私钥泄露后，攻击者可能伪装成该主机，影响 SSH 主机身份信任。&lt;code&gt;/etc/shadow&lt;/code&gt; 泄露后，攻击者可以离线破解密码哈希，进一步扩大影响。&lt;/p&gt;
&lt;p&gt;这也是为什么它虽然不是“直接 root shell”，但仍然应按高优先级处理。&lt;/p&gt;
&lt;h2 id=&#34;影响范围怎么判断&#34;&gt;影响范围怎么判断
&lt;/h2&gt;&lt;p&gt;从上游角度看，这是 Linux kernel 的漏洞。NVD 记录显示该问题在 2026 年 5 月 15 日进入 NVD 数据集，NVD 当时还没有给出 CVSS 评分。&lt;/p&gt;
&lt;p&gt;发行版层面的状态要以各自公告为准：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AlmaLinux 8、9、10 都发布了处理说明，并在 2026 年 5 月 16 日更新称 patched kernels 已进入生产仓库。&lt;/li&gt;
&lt;li&gt;Debian security tracker 已列出 bullseye、bookworm、trixie、sid 等分支的 vulnerable/fixed 状态和固定版本。&lt;/li&gt;
&lt;li&gt;其他发行版需要分别查看 Ubuntu、Red Hat、SUSE、Arch、Alpine 等官方安全页面或更新源。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不要只按内核大版本判断是否安全。发行版会 backport 修复，同一个上游版本号在不同发行版中可能代表不同补丁状态。&lt;/p&gt;
&lt;h2 id=&#34;应该优先处理哪些机器&#34;&gt;应该优先处理哪些机器
&lt;/h2&gt;&lt;p&gt;建议按风险排序处理：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;多用户服务器和共享主机。&lt;/li&gt;
&lt;li&gt;有普通 shell 账号的跳板机、教学机、开发机。&lt;/li&gt;
&lt;li&gt;CI runner、构建机、托管平台宿主机。&lt;/li&gt;
&lt;li&gt;容器宿主机和虚拟化宿主机，尤其是不完全可信 workload 共存的环境。&lt;/li&gt;
&lt;li&gt;公开服务机器，虽然漏洞需要本地访问，但一旦 Web/RCE/弱口令带来低权限落点，风险会叠加。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;纯单用户桌面环境风险相对低一些，但仍建议随系统更新修复。原因很简单：本地低权限代码执行在桌面上并不少见，浏览器、开发工具、脚本和第三方软件都可能成为落点。&lt;/p&gt;
&lt;h2 id=&#34;修复建议&#34;&gt;修复建议
&lt;/h2&gt;&lt;p&gt;首选方案是安装发行版提供的修复内核并重启。&lt;/p&gt;
&lt;p&gt;不同发行版命令不同，原则相同：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;更新软件源元数据。&lt;/li&gt;
&lt;li&gt;安装包含 &lt;code&gt;CVE-2026-46333&lt;/code&gt; 修复的 kernel 包。&lt;/li&gt;
&lt;li&gt;重启进入新内核。&lt;/li&gt;
&lt;li&gt;用 &lt;code&gt;uname -r&lt;/code&gt; 和发行版安全公告核对当前运行内核是否已修复。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;AlmaLinux 公告中提到，生产仓库已推出修复内核，用户可以执行常规 &lt;code&gt;dnf upgrade&lt;/code&gt; 并重启。Debian tracker 也列出了多个分支的 fixed versions。&lt;/p&gt;
&lt;p&gt;需要注意：只安装新 kernel 包但不重启，旧内核仍在运行，漏洞仍然存在。&lt;/p&gt;
&lt;h2 id=&#34;临时缓解收紧-ptrace_scope&#34;&gt;临时缓解：收紧 ptrace_scope
&lt;/h2&gt;&lt;p&gt;如果暂时不能重启，可以先收紧 Yama 的 &lt;code&gt;ptrace_scope&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;Qualys 在 oss-security 后续回复中确认，将 &lt;code&gt;/proc/sys/kernel/yama/ptrace_scope&lt;/code&gt; 设置为 &lt;code&gt;2&lt;/code&gt;（admin-only attach）或 &lt;code&gt;3&lt;/code&gt;（no attach）可以阻止他们已知的公开利用路径。但他们也说明，理论上可能存在其他利用方式，所以这只是缓解，不是修复。&lt;/p&gt;
&lt;p&gt;临时设置可以用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sysctl -w kernel.yama.ptrace_scope&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;持久化可以写入 sysctl 配置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;kernel.yama.ptrace_scope = 3&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /etc/sysctl.d/99-ssh-keysign-pwn.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;ptrace_scope=3&lt;/code&gt; 会禁用 ptrace attach，可能影响 &lt;code&gt;gdb&lt;/code&gt;、&lt;code&gt;strace -p&lt;/code&gt; 等调试场景。如果生产环境需要调试，可以评估使用 &lt;code&gt;2&lt;/code&gt;。无论选哪一个，都应尽快安排内核升级和重启。&lt;/p&gt;
&lt;h2 id=&#34;是否需要轮换-ssh-主机密钥&#34;&gt;是否需要轮换 SSH 主机密钥
&lt;/h2&gt;&lt;p&gt;如果机器在漏洞公开前后存在以下情况，建议保守处理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有不可信本地用户。&lt;/li&gt;
&lt;li&gt;有共享主机或容器/CI 多租户环境。&lt;/li&gt;
&lt;li&gt;有 Web 漏洞、弱口令、供应链脚本等可能给攻击者本地落点。&lt;/li&gt;
&lt;li&gt;日志中出现可疑本地进程、异常调试行为或公开 PoC 文件。&lt;/li&gt;
&lt;li&gt;机器在修复前暴露了较长时间。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;保守处置包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;修复并重启后轮换 SSH host keys。&lt;/li&gt;
&lt;li&gt;更新已知主机指纹管理系统。&lt;/li&gt;
&lt;li&gt;通知依赖该主机指纹的自动化系统。&lt;/li&gt;
&lt;li&gt;检查 SSH 连接告警，避免误把合法指纹变化当成中间人攻击或反过来忽略真实风险。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果怀疑 &lt;code&gt;/etc/shadow&lt;/code&gt; 已泄露，还应评估密码重置、禁止弱密码、检查是否存在可离线破解的旧哈希。&lt;/p&gt;
&lt;h2 id=&#34;需要监控什么&#34;&gt;需要监控什么
&lt;/h2&gt;&lt;p&gt;这类漏洞利用窗口很短，传统日志未必能完整记录。但仍可以关注：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;普通用户目录下是否出现 &lt;code&gt;ssh-keysign-pwn&lt;/code&gt;、&lt;code&gt;chage_pwn&lt;/code&gt; 或类似 PoC 文件。&lt;/li&gt;
&lt;li&gt;可疑编译行为，例如短时间内编译陌生 C 程序。&lt;/li&gt;
&lt;li&gt;异常访问 &lt;code&gt;/etc/ssh/ssh_host_*_key&lt;/code&gt;、&lt;code&gt;/etc/shadow&lt;/code&gt; 的迹象。&lt;/li&gt;
&lt;li&gt;异常 &lt;code&gt;pidfd_getfd&lt;/code&gt;、&lt;code&gt;ptrace&lt;/code&gt;、调试器相关行为。&lt;/li&gt;
&lt;li&gt;SSH 主机指纹被外部系统报告异常。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些信号不能证明一定被利用，也不能证明没有被利用。真正的优先事项仍然是补丁、重启、凭据轮换和风险隔离。&lt;/p&gt;
&lt;h2 id=&#34;常见误区&#34;&gt;常见误区
&lt;/h2&gt;&lt;p&gt;第一个误区：它不是 OpenSSH 远程漏洞。名字里有 &lt;code&gt;ssh-keysign&lt;/code&gt;，但根因在 Linux kernel 的 &lt;code&gt;ptrace&lt;/code&gt; 访问检查逻辑，不是 &lt;code&gt;sshd&lt;/code&gt; 远程认证流程。&lt;/p&gt;
&lt;p&gt;第二个误区：没有本地用户就完全没风险。漏洞确实需要本地执行条件，但很多真实攻击链会先通过 Web 服务、CI、脚本、弱口令或容器逃逸前置步骤获得低权限本地落点。&lt;/p&gt;
&lt;p&gt;第三个误区：设置 &lt;code&gt;ptrace_scope&lt;/code&gt; 就够了。它是临时缓解，不是根本修复。内核更新和重启仍然需要做。&lt;/p&gt;
&lt;p&gt;第四个误区：只要没被拿 root 就没事。SSH 主机私钥和 &lt;code&gt;/etc/shadow&lt;/code&gt; 的泄露本身就足以导致后续横向移动、主机伪装和离线破解风险。&lt;/p&gt;
&lt;h2 id=&#34;处置清单&#34;&gt;处置清单
&lt;/h2&gt;&lt;p&gt;建议按这个顺序执行：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;盘点受影响 Linux 主机，特别是多用户和共享环境。&lt;/li&gt;
&lt;li&gt;查看发行版官方安全公告，确认 fixed kernel 版本。&lt;/li&gt;
&lt;li&gt;安装修复内核并重启。&lt;/li&gt;
&lt;li&gt;暂时不能重启的机器，先设置 &lt;code&gt;kernel.yama.ptrace_scope=2&lt;/code&gt; 或 &lt;code&gt;3&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;修复后核对正在运行的内核版本。&lt;/li&gt;
&lt;li&gt;对高风险机器轮换 SSH host keys。&lt;/li&gt;
&lt;li&gt;如果怀疑 &lt;code&gt;/etc/shadow&lt;/code&gt; 泄露，评估密码重置和账号审计。&lt;/li&gt;
&lt;li&gt;检查是否存在公开 PoC、异常编译和可疑本地调试行为。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;总结&#34;&gt;总结
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ssh-keysign-pwn&lt;/code&gt;（&lt;code&gt;CVE-2026-46333&lt;/code&gt;）是一个本地信息泄露漏洞，根因在 Linux kernel &lt;code&gt;__ptrace_may_access()&lt;/code&gt; 相关逻辑。它不需要远程直接打进来，也不直接给 root shell，但可以让低权限本地用户读取高价值敏感文件，这使它在多用户、共享主机、CI 和容器宿主环境中非常值得警惕。&lt;/p&gt;
&lt;p&gt;最可靠的修复是升级到发行版提供的修复内核并重启。&lt;code&gt;ptrace_scope=2/3&lt;/code&gt; 可以作为临时缓解，但不能替代补丁。已经暴露在风险窗口中的关键主机，还应考虑 SSH 主机密钥轮换和密码风险评估。&lt;/p&gt;
&lt;p&gt;参考链接：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security：Qualys 关于 __ptrace_may_access() 逻辑问题的披露&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security：Qualys 确认 CVE-2026-46333 编号&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security：Qualys 确认 ptrace_scope 临时缓解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-46333&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD：CVE-2026-46333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://security-tracker.debian.org/tracker/CVE-2026-46333&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Debian Security Tracker：CVE-2026-46333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/he/blog/2026-05-15-ssh-keysign-pwn-cve-2026-46333/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AlmaLinux：ssh-keysign-pwn (CVE-2026-46333) Patches Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/torvalds/linux/commit/31e62c2ebbfdc3fe3dbdf5e02c92a9dc67087a3a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Linux upstream fix：ptrace get_dumpable() logic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>CVE-2026-42945 怎么排查？Nginx Rift 漏洞触发条件、版本检查与升级建议</title>
        <link>https://knightli.com/2026/05/15/nginx-rift-cve-2026-42945/</link>
        <pubDate>Fri, 15 May 2026 17:55:42 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/15/nginx-rift-cve-2026-42945/</guid>
        <description>&lt;p&gt;&lt;code&gt;CVE-2026-42945&lt;/code&gt; 是 NGINX Open Source 和 NGINX Plus 中的一个安全漏洞，外界也把它称为 &lt;code&gt;Nginx Rift&lt;/code&gt;。它出现在 &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt;，漏洞类型是 heap-based buffer overflow。&lt;/p&gt;
&lt;p&gt;这类新闻很容易被写成“潜伏 18 年”“不用密码远程控制”“三成服务器中招”。这些说法有传播性，但看补丁和 NVD 描述时，最好把风险拆开看：它确实严重，也确实不需要登录账号；但并不是所有 Nginx 实例都会自动被接管，触发需要特定 rewrite 配置和请求条件。&lt;/p&gt;
&lt;h2 id=&#34;先看官方描述&#34;&gt;先看官方描述
&lt;/h2&gt;&lt;p&gt;NVD 对 &lt;code&gt;CVE-2026-42945&lt;/code&gt; 的描述可以概括为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;影响 NGINX Plus 和 NGINX Open Source。&lt;/li&gt;
&lt;li&gt;漏洞位于 &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;当 &lt;code&gt;rewrite&lt;/code&gt; 指令后面跟着 &lt;code&gt;rewrite&lt;/code&gt;、&lt;code&gt;if&lt;/code&gt; 或 &lt;code&gt;set&lt;/code&gt; 指令，并且使用未命名的 PCRE 捕获组，例如 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt;，同时替换字符串里包含问号 &lt;code&gt;?&lt;/code&gt; 时，可能触发问题。&lt;/li&gt;
&lt;li&gt;未认证攻击者可以发送构造请求触发漏洞。&lt;/li&gt;
&lt;li&gt;结果可能是 NGINX worker 进程发生 heap buffer overflow 并重启。&lt;/li&gt;
&lt;li&gt;如果系统关闭了 ASLR，存在代码执行可能。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;F5 作为 CNA 给出的评分是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CVSS v4.0：&lt;code&gt;9.2&lt;/code&gt;，Critical。&lt;/li&gt;
&lt;li&gt;CVSS v3.1：&lt;code&gt;8.1&lt;/code&gt;，High。&lt;/li&gt;
&lt;li&gt;CWE：&lt;code&gt;CWE-122 Heap-based Buffer Overflow&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以，这不是普通的“配置写错导致 404”问题，而是 Nginx 官方安全修复范围内的内存安全漏洞。&lt;/p&gt;
&lt;h2 id=&#34;哪些说法需要降温&#34;&gt;哪些说法需要降温
&lt;/h2&gt;&lt;p&gt;第一，“不用密码”基本可以理解为未认证攻击。也就是说，攻击者不需要登录 Nginx 后台，不需要拿到 SSH，也不需要应用系统账号。但这不等于任何公网 Nginx 都能被随手接管。&lt;/p&gt;
&lt;p&gt;第二，“直接远程控制”要看条件。官方描述里更稳妥的说法是：漏洞可导致 worker 进程重启；在 ASLR 关闭的系统上，代码执行是可能结果。对启用了 ASLR、发行版编译加固完整、运行权限受限的环境，风险路径会更复杂。&lt;/p&gt;
&lt;p&gt;第三，“30% 服务器中招”不能简单等同于“所有 Nginx 市占率都是漏洞暴露面”。真正暴露要同时看版本、是否启用受影响模块、是否存在特定 rewrite 配置、发行版是否已经回补补丁，以及 Nginx 运行环境的加固状态。&lt;/p&gt;
&lt;p&gt;更准确的判断方式是：只要你在生产环境运行 Nginx，就应该尽快检查；但不要只按标题里的比例判断自己是否中招。&lt;/p&gt;
&lt;h2 id=&#34;受影响范围怎么判断&#34;&gt;受影响范围怎么判断
&lt;/h2&gt;&lt;p&gt;从 nginx.org 发布信息看，2026 年 5 月 13 日发布的 &lt;code&gt;nginx-1.30.1&lt;/code&gt; stable 和 &lt;code&gt;nginx-1.31.0&lt;/code&gt; mainline 包含多项安全修复，其中包括 &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt; 的 buffer overflow，也就是 &lt;code&gt;CVE-2026-42945&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如果你使用官方 Nginx 源码或官方包，可以优先关注：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NGINX Open Source stable：升级到 &lt;code&gt;1.30.1&lt;/code&gt; 或之后版本。&lt;/li&gt;
&lt;li&gt;NGINX Open Source mainline：升级到 &lt;code&gt;1.31.0&lt;/code&gt; 或之后版本。&lt;/li&gt;
&lt;li&gt;NGINX Plus：查看 F5 对应分支的修复版本。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你使用 Debian、Ubuntu、RHEL、AlmaLinux、Rocky Linux、Alpine、容器镜像、Plesk、宝塔、Ingress Controller 或云厂商托管组件，不要只看 &lt;code&gt;nginx -v&lt;/code&gt; 里的上游版本号。很多发行版会把安全补丁 backport 到旧版本包里，版本号看起来旧，但补丁可能已经合入。&lt;/p&gt;
&lt;h2 id=&#34;一分钟判断是否需要紧急处理&#34;&gt;一分钟判断是否需要紧急处理
&lt;/h2&gt;&lt;p&gt;可以先按下面几个问题快速分级：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;这台 Nginx 是否直接暴露在公网，或者位于 API Gateway、反向代理、负载均衡、Ingress 入口层？&lt;/li&gt;
&lt;li&gt;是否使用官方 Nginx 包、源码编译包、第三方面板、容器镜像，且还没有确认 &lt;code&gt;CVE-2026-42945&lt;/code&gt; 修复状态？&lt;/li&gt;
&lt;li&gt;配置里是否存在复杂 &lt;code&gt;rewrite&lt;/code&gt; 规则，尤其是连续 &lt;code&gt;rewrite&lt;/code&gt;、&lt;code&gt;if&lt;/code&gt;、&lt;code&gt;set&lt;/code&gt;，以及 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt; 这类未命名捕获组？&lt;/li&gt;
&lt;li&gt;是否存在把请求路径、查询参数或用户可控输入带入 rewrite 目标的场景？&lt;/li&gt;
&lt;li&gt;系统加固是否较弱，例如 ASLR 被关闭、worker 权限过高、容器权限过宽？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果前两项命中，并且 rewrite 配置还没有排查，建议按高优先级处理。公网入口、共享环境、Kubernetes Ingress、边缘代理和承载登录/API 流量的 Nginx，应该优先升级或替换到确认修复的包。&lt;/p&gt;
&lt;h2 id=&#34;debian--ubuntu--rhel--alpine-如何确认修复&#34;&gt;Debian / Ubuntu / RHEL / Alpine 如何确认修复
&lt;/h2&gt;&lt;p&gt;发行版用户不要只看 &lt;code&gt;nginx -v&lt;/code&gt;。Debian、Ubuntu、RHEL、AlmaLinux、Rocky Linux、Alpine 这类系统经常把安全补丁回补到稳定分支，表面版本号可能仍然低于 nginx.org 的 &lt;code&gt;1.30.1&lt;/code&gt; 或 &lt;code&gt;1.31.0&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;Debian / Ubuntu 可以优先看安全公告、包 changelog 和可升级列表：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -V
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt list --upgradable &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt changelog nginx &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;CVE-2026-42945&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;RHEL / AlmaLinux / Rocky Linux 可以看安全更新和包变更记录：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum updateinfo list security &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm -q --changelog nginx &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;CVE-2026-42945&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Alpine 可以检查当前包版本和安全分支更新：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk info -v nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk version -v nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果包管理器、发行版安全公告或厂商 advisory 明确写明已修复 &lt;code&gt;CVE-2026-42945&lt;/code&gt;，即使上游版本号看起来不新，也可以按“已回补修复”处理。反过来，如果只是版本号较高但来源不明，仍然要确认构建日期和补丁来源。&lt;/p&gt;
&lt;h2 id=&#34;容器镜像与-ingress-controller-怎么查&#34;&gt;容器镜像与 Ingress Controller 怎么查
&lt;/h2&gt;&lt;p&gt;容器环境要检查镜像里的 Nginx，而不是只看宿主机。先确认镜像实际内置版本：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --rm your-nginx-image nginx -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --rm your-nginx-image nginx -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;还要看基础镜像是否更新过。如果镜像基于 Debian、Ubuntu、Alpine 或发行版包构建，判断方式应回到对应发行版的安全公告和包 changelog。只重启旧镜像没有意义，镜像本身需要重新构建或替换。&lt;/p&gt;
&lt;p&gt;Kubernetes Ingress 需要同时确认三件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ingress Controller 项目是否发布了针对 &lt;code&gt;CVE-2026-42945&lt;/code&gt; 的 advisory 或修复版本。&lt;/li&gt;
&lt;li&gt;当前集群运行的 controller 镜像 digest 是否已经更新，而不是只改了 tag。&lt;/li&gt;
&lt;li&gt;controller 内置 Nginx 版本、构建参数和模板配置是否仍然包含高风险 rewrite 规则。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;可以先看运行中的镜像：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx get pods -o wide
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx describe pod &amp;lt;pod-name&amp;gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i image
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果使用云厂商托管 Ingress 或网关，还要查对应云服务公告。托管组件通常不是用户自己 &lt;code&gt;apt upgrade&lt;/code&gt; 能解决的，需要等待厂商修复或切换到已修复版本。&lt;/p&gt;
&lt;h2 id=&#34;rewrite-配置重点排查哪些写法&#34;&gt;rewrite 配置重点排查哪些写法
&lt;/h2&gt;&lt;p&gt;这个漏洞和 &lt;code&gt;rewrite&lt;/code&gt; 配置有关，排查时可以先搜索 Nginx 配置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -R &lt;span class=&#34;s2&#34;&gt;&amp;#34;rewrite&amp;#34;&lt;/span&gt; /etc/nginx -n
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -R &lt;span class=&#34;s2&#34;&gt;&amp;#34;\\&lt;/span&gt;$&lt;span class=&#34;s2&#34;&gt;[0-9]&amp;#34;&lt;/span&gt; /etc/nginx -n
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;重点关注类似模式：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;rewrite&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;^/old/(.*)&lt;/span&gt;$ &lt;span class=&#34;s&#34;&gt;/new/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1?&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;permanent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这里的 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt; 这类未命名捕获组，以及替换目标中的 &lt;code&gt;?&lt;/code&gt;，是官方描述里的关键条件之一。排查时尤其关注下面几类写法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一个 &lt;code&gt;rewrite&lt;/code&gt; 后面紧跟另一个 &lt;code&gt;rewrite&lt;/code&gt;、&lt;code&gt;if&lt;/code&gt; 或 &lt;code&gt;set&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;正则里使用 &lt;code&gt;(.*)&lt;/code&gt;、&lt;code&gt;(.+)&lt;/code&gt; 这类宽泛捕获，并在目标里用 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;rewrite 目标里带 &lt;code&gt;?&lt;/code&gt;，用于拼接或丢弃查询参数。&lt;/li&gt;
&lt;li&gt;rewrite 输入来自公网路径、Host、URI、参数或上游可控值。&lt;/li&gt;
&lt;li&gt;面板、网关、Ingress 注解或模板自动生成的 rewrite 规则。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果短时间内无法升级，可以先做临时缓解：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;减少复杂 rewrite 规则。&lt;/li&gt;
&lt;li&gt;把未命名捕获组改成更清晰的命名捕获。&lt;/li&gt;
&lt;li&gt;避免在替换字符串里拼接不必要的 &lt;code&gt;?&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;对高风险入口加 WAF 或反向代理规则。&lt;/li&gt;
&lt;li&gt;确认系统启用了 ASLR。&lt;/li&gt;
&lt;li&gt;降低 Nginx worker 运行权限，确认 systemd sandbox、SELinux/AppArmor 等加固状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些只是缓解，不是替代补丁。&lt;/p&gt;
&lt;h2 id=&#34;修复优先级&#34;&gt;修复优先级
&lt;/h2&gt;&lt;p&gt;建议按暴露面排序：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;公网入口 Nginx。&lt;/li&gt;
&lt;li&gt;反向代理、API Gateway、边缘网关。&lt;/li&gt;
&lt;li&gt;多租户环境里的 Nginx。&lt;/li&gt;
&lt;li&gt;Kubernetes Ingress Controller。&lt;/li&gt;
&lt;li&gt;Plesk、面板工具、云市场镜像等自带 Nginx 的组件。&lt;/li&gt;
&lt;li&gt;内网但承载关键业务的 Nginx。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;升级后如何验证nginx--treloadworker-状态&#34;&gt;升级后如何验证：nginx -t、reload、worker 状态
&lt;/h2&gt;&lt;p&gt;更新后不要只看包管理器提示成功，还要确认配置、进程和实际二进制都已经切换。先验证配置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -t
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;确认没有错误后再平滑加载：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl reload nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果包升级涉及二进制替换，建议确认旧 worker 已退出：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps aux &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;也可以查看主进程启动时间和二进制路径，确认运行中的服务不是旧进程继续驻留。必要时安排维护窗口重启服务，避免旧 worker 或旧容器继续处理请求。&lt;/p&gt;
&lt;p&gt;容器和 Ingress 环境还要确认新镜像已经真正滚动完成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx rollout status deployment/&amp;lt;deployment-name&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx get pods -o wide
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;验证重点不是“命令执行过”，而是“线上流量已经由包含修复的 Nginx 进程承载”。&lt;/p&gt;
&lt;h2 id=&#34;不要忽略同批次-nginx-修复&#34;&gt;不要忽略同批次 Nginx 修复
&lt;/h2&gt;&lt;p&gt;nginx.org 在同一天发布的 &lt;code&gt;1.30.1&lt;/code&gt; 和 &lt;code&gt;1.31.0&lt;/code&gt; 不只修复了 &lt;code&gt;CVE-2026-42945&lt;/code&gt;。发布信息还提到 HTTP/2 request injection、SCGI/uWSGI buffer overread、charset module buffer overread、HTTP/3 address spoofing、OCSP resolver use-after-free 等问题。&lt;/p&gt;
&lt;p&gt;这意味着生产环境不应该只针对单个 CVE 做临时规则，而是应该把 Nginx 这一轮安全更新当成一次整体升级来处理。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CVE-2026-42945&lt;/code&gt; 的关键点不是“所有 Nginx 都会被秒控”，而是：一个长期存在于 rewrite 模块里的内存安全漏洞，在特定配置下可被未认证请求触发，最直接后果是 worker 崩溃重启；在 ASLR 关闭等较弱环境下，代码执行风险更高。&lt;/p&gt;
&lt;p&gt;对运维来说，处理顺序很简单：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;确认 Nginx 来源和版本。&lt;/li&gt;
&lt;li&gt;查看发行版、F5、nginx.org 或云厂商公告。&lt;/li&gt;
&lt;li&gt;尽快升级到包含修复的版本或发行版安全包。&lt;/li&gt;
&lt;li&gt;排查复杂 rewrite 配置，尤其是 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt; 和 &lt;code&gt;?&lt;/code&gt; 组合。&lt;/li&gt;
&lt;li&gt;确认 ASLR、权限隔离和服务重载状态。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;标题可以吓人，修复要冷静。先确认暴露面，再升级，再回头清理高风险 rewrite 规则。&lt;/p&gt;
&lt;h2 id=&#34;参考链接&#34;&gt;参考链接
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-42945&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD: CVE-2026-42945&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nginx.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nginx.org 发布信息&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://my.f5.com/manage/s/article/K000161019&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;F5 Security Advisory K000161019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://depthfirst.com/nginx-rift&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DepthFirst: Nginx Rift&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Dirty Frag、Copy Fail 与 Fragnesia：近期三个 Linux 本地提权漏洞对比</title>
        <link>https://knightli.com/2026/05/15/linux-lpe-dirty-frag-copy-fail-fragnesia-analysis/</link>
        <pubDate>Fri, 15 May 2026 13:24:04 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/15/linux-lpe-dirty-frag-copy-fail-fragnesia-analysis/</guid>
        <description>&lt;p&gt;最近 Linux 内核连续出现几个高关注度的本地提权漏洞：Dirty Frag、Copy Fail 和 Fragnesia。它们看起来像一组“同类事件”，因为最终效果都很接近：低权限本地用户可能把权限提升到 root。&lt;/p&gt;
&lt;p&gt;但从运维处置角度看，不能把它们混成一个漏洞。三者的入口模块、触发路径、缓解方式和补丁节奏都不同。更准确的理解是：它们暴露了 Linux 内核在“页缓存、splice、socket buffer、加密路径”这些复杂交界处的共同风险。&lt;/p&gt;
&lt;p&gt;本文只做风险和处置分析，不展开可复现利用步骤。&lt;/p&gt;
&lt;h2 id=&#34;三个漏洞分别是什么&#34;&gt;三个漏洞分别是什么
&lt;/h2&gt;&lt;h3 id=&#34;dirty-fragcve-2026-43284&#34;&gt;Dirty Frag：CVE-2026-43284
&lt;/h3&gt;&lt;p&gt;Dirty Frag 主要指向 Linux 内核网络路径里的页缓存写入问题。公开资料中，它通常和两个问题一起讨论：&lt;code&gt;xfrm-ESP&lt;/code&gt; 侧的 CVE-2026-43284，以及 &lt;code&gt;rxrpc&lt;/code&gt; 侧的 CVE-2026-43500。&lt;/p&gt;
&lt;p&gt;其中 CVE-2026-43284 与 ESP 处理共享 &lt;code&gt;skb&lt;/code&gt; fragment 时的原地解密有关。问题的关键不是攻击者直接修改磁盘文件，而是让内核在不该写的共享页上发生写入，进而影响页缓存里的文件内容。&lt;/p&gt;
&lt;p&gt;运维上最需要记住的是：Dirty Frag 触达的是 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt; 这一组内核模块和网络子系统路径。它和 IPsec、ESP、RxRPC 相关，临时缓解也会围绕这些模块展开。&lt;/p&gt;
&lt;h3 id=&#34;copy-failcve-2026-31431&#34;&gt;Copy Fail：CVE-2026-31431
&lt;/h3&gt;&lt;p&gt;Copy Fail 是 Theori / Xint Code 披露的 Linux 内核本地提权漏洞。它的入口不在 IPsec 网络路径，而在内核用户态加密 API 的 &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt; 相关路径。&lt;/p&gt;
&lt;p&gt;公开说明中提到，它源于 2017 年引入的一处原地优化：某些情况下，内核没有按预期复制数据，而是把页缓存页放进可写目标路径里。攻击者可以借助 &lt;code&gt;AF_ALG&lt;/code&gt; 与 &lt;code&gt;splice()&lt;/code&gt; 组合，对页缓存支持的页面做小范围可控写入。&lt;/p&gt;
&lt;p&gt;它的风险点在于可利用性很强，而且影响面跨多个主流发行版。和 Dirty Frag 不同，Copy Fail 的临时缓解重点是限制或禁用 &lt;code&gt;algif_aead&lt;/code&gt;，以及在容器和 CI 环境中限制 &lt;code&gt;AF_ALG&lt;/code&gt; socket。&lt;/p&gt;
&lt;h3 id=&#34;fragnesiacve-2026-46300&#34;&gt;Fragnesia：CVE-2026-46300
&lt;/h3&gt;&lt;p&gt;Fragnesia 是 V12 Security 披露的另一个 Linux 内核本地提权漏洞，和 Dirty Frag 属于相近攻击面。它不是 Dirty Frag 的同一个 bug，但仍然围绕 IPsec ESP / &lt;code&gt;rxrpc&lt;/code&gt; 相关模块，以及页缓存写入效果展开。&lt;/p&gt;
&lt;p&gt;AlmaLinux 的说明把它定位为同一代码区域里的第三个本地 root 问题。其关键点在于 &lt;code&gt;skb_try_coalesce()&lt;/code&gt; 在合并 socket buffer 片段时没有正确保留共享 fragment 标记，导致后续 XFRM ESP-in-TCP 接收路径可能在外部页缓存页上做原地解密。&lt;/p&gt;
&lt;p&gt;也就是说，Fragnesia 和 Dirty Frag 更接近：两者都绕着 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;、&lt;code&gt;skb&lt;/code&gt; fragment、ESP 解密路径转。它们的临时缓解也高度重叠。&lt;/p&gt;
&lt;h2 id=&#34;相同点为什么都危险&#34;&gt;相同点：为什么都危险
&lt;/h2&gt;&lt;p&gt;这三个漏洞的共同点不是“代码位置完全一样”，而是攻击结果和风险模型非常像。&lt;/p&gt;
&lt;p&gt;第一，它们都是本地提权。攻击者通常需要先在机器上获得普通用户代码执行能力，然后再把权限提升到 root。对单用户桌面来说，它不是远程一键入侵；但对多用户服务器、CI runner、容器宿主机、共享开发机和暴露 SSH 的 VPS 来说，低权限入口并不罕见。&lt;/p&gt;
&lt;p&gt;第二，它们都和页缓存写入有关。攻击者不一定永久改写磁盘文件，而是影响内存中的页缓存副本。这会让传统文件完整性检查变得不够可靠：磁盘 hash 可能正常，但执行路径读到的页缓存内容已经被污染。&lt;/p&gt;
&lt;p&gt;第三，它们都偏向确定性逻辑漏洞，而不是传统意义上很吃时序的竞争条件。公开资料多次强调这类漏洞不依赖赢得 race condition。对防守方来说，这意味着“利用成功率”不能按老经验低估。&lt;/p&gt;
&lt;p&gt;第四，它们都放大了容器和自动化执行环境的风险。容器内的低权限代码、CI 任务、构建脚本、第三方插件，一旦能触达宿主内核相关接口，就可能把漏洞从“本地问题”变成“平台问题”。&lt;/p&gt;
&lt;h2 id=&#34;不同点不要用一个补丁思路套全部&#34;&gt;不同点：不要用一个补丁思路套全部
&lt;/h2&gt;&lt;p&gt;三者最大的区别在入口模块。&lt;/p&gt;
&lt;p&gt;Copy Fail 的关键入口是 &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt;，属于内核用户态加密 API。它的临时防护重点是禁用或限制 &lt;code&gt;algif_aead&lt;/code&gt;，以及用 seccomp 阻断容器里创建 &lt;code&gt;AF_ALG&lt;/code&gt; socket。&lt;/p&gt;
&lt;p&gt;Dirty Frag 的关键入口在 &lt;code&gt;xfrm-ESP&lt;/code&gt; 和 &lt;code&gt;rxrpc&lt;/code&gt;。它更接近网络协议和 socket buffer 处理路径，临时防护通常会考虑禁用 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;。但这可能影响 IPsec、VPN、隧道或相关网络能力。&lt;/p&gt;
&lt;p&gt;Fragnesia 的入口也在 Dirty Frag 相近区域，但具体问题落在 &lt;code&gt;skb_try_coalesce()&lt;/code&gt; 没有保留共享 fragment 标记。它更像是 Dirty Frag 风险面里的另一个分支，而不是 Copy Fail 的加密 API 问题。&lt;/p&gt;
&lt;p&gt;所以，不能因为已经处理了 Copy Fail，就认为 Dirty Frag 和 Fragnesia 也被覆盖；也不能因为禁用了 &lt;code&gt;esp4&lt;/code&gt; / &lt;code&gt;esp6&lt;/code&gt;，就认为 Copy Fail 自动消失。它们需要分别确认补丁状态和缓解策略。&lt;/p&gt;
&lt;h2 id=&#34;影响范围该怎么判断&#34;&gt;影响范围该怎么判断
&lt;/h2&gt;&lt;p&gt;判断这类漏洞是否受影响，不要只看发行版名字，也不要只看内核大版本号。发行版会回合补丁，云厂商会维护自己的内核分支，企业发行版还可能有额外 backport。&lt;/p&gt;
&lt;p&gt;更稳妥的顺序是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先看发行版安全公告和内核包 changelog。&lt;/li&gt;
&lt;li&gt;再核对 CVE 是否已被当前内核包修复。&lt;/li&gt;
&lt;li&gt;对云主机、容器宿主机和 CI 节点，额外关注云厂商或平台方公告。&lt;/li&gt;
&lt;li&gt;对临时缓解，确认业务是否依赖对应模块。&lt;/li&gt;
&lt;li&gt;完成内核升级后安排重启，确保实际运行内核已经切换。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这一步最容易踩坑的是“包已经更新，但机器还没重启”。内核漏洞不是普通用户态服务升级，安装新包之后，旧内核仍可能继续运行。&lt;/p&gt;
&lt;h2 id=&#34;运维优先级&#34;&gt;运维优先级
&lt;/h2&gt;&lt;p&gt;这些漏洞最该优先处理的机器，不是“所有 Linux 平均排队”，而是低权限代码最容易出现的地方。&lt;/p&gt;
&lt;p&gt;优先级最高的环境包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;多用户登录服务器&lt;/li&gt;
&lt;li&gt;CI / CD runner&lt;/li&gt;
&lt;li&gt;构建机和制品打包机&lt;/li&gt;
&lt;li&gt;容器宿主机和 Kubernetes 节点&lt;/li&gt;
&lt;li&gt;共享开发机&lt;/li&gt;
&lt;li&gt;暴露 SSH 的云主机和 VPS&lt;/li&gt;
&lt;li&gt;运行第三方脚本、插件、任务队列的平台&lt;/li&gt;
&lt;li&gt;有 Web 漏洞、弱口令或历史入侵痕迹的机器&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;相对封闭、单用户、没有外部代码执行入口的机器，风险仍然存在，但处置顺序可以排在后面。&lt;/p&gt;
&lt;h2 id=&#34;临时缓解应该怎么理解&#34;&gt;临时缓解应该怎么理解
&lt;/h2&gt;&lt;p&gt;临时缓解不是补丁替代品。它的价值是帮你在无法立刻重启或等待发行版补丁时降低暴露面。&lt;/p&gt;
&lt;p&gt;对 Copy Fail，重点关注 &lt;code&gt;algif_aead&lt;/code&gt; 和 &lt;code&gt;AF_ALG&lt;/code&gt;。如果业务没有使用内核 AF_ALG 加密接口，可以评估禁用相关模块；容器环境则应优先检查 seccomp 策略，避免不受信任工作负载随意创建对应 socket。&lt;/p&gt;
&lt;p&gt;对 Dirty Frag 和 Fragnesia，重点关注 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;。如果系统不依赖 IPsec ESP、相关 VPN、隧道或 RxRPC，可以评估临时禁用。但生产环境不要盲目执行，因为这些模块可能影响真实网络业务。&lt;/p&gt;
&lt;p&gt;最终仍然要回到内核更新。临时缓解只能减少攻击面，不能证明系统已经彻底安全。&lt;/p&gt;
&lt;h2 id=&#34;这三个漏洞说明了什么&#34;&gt;这三个漏洞说明了什么
&lt;/h2&gt;&lt;p&gt;这组漏洞真正值得警惕的地方，不只是 CVE 数量，而是它们都集中在内核高复杂度路径：零拷贝、splice、socket buffer、页缓存、加密接口、协议栈优化。&lt;/p&gt;
&lt;p&gt;这些路径的共同特点是性能收益很大，但所有权边界也更难维护。一个 fragment 是否共享、一个页面是否还能原地写、一个优化是否真的只是减少复制，都会变成安全边界的一部分。&lt;/p&gt;
&lt;p&gt;对安全团队和运维团队来说，结论很实际：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本地提权漏洞要按“已有低权限入口会被放大”处理。&lt;/li&gt;
&lt;li&gt;容器不是内核漏洞的天然隔离边界。&lt;/li&gt;
&lt;li&gt;文件完整性检查不能只看磁盘内容。&lt;/li&gt;
&lt;li&gt;CI、构建机、插件平台要当成高优先级资产。&lt;/li&gt;
&lt;li&gt;内核补丁需要验证“已安装”和“已运行”两个状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;Dirty Frag、Copy Fail 和 Fragnesia 都是近期 Linux 本地提权风险里的高优先级事件，但它们不是同一个漏洞的三个名字。&lt;/p&gt;
&lt;p&gt;Copy Fail 走的是 &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt; 加密接口路径；Dirty Frag 走的是 &lt;code&gt;xfrm-ESP&lt;/code&gt; 与 &lt;code&gt;rxrpc&lt;/code&gt; 相关路径；Fragnesia 则在 Dirty Frag 相近攻击面上，通过 &lt;code&gt;skb&lt;/code&gt; fragment 标记处理问题再次触发页缓存写入风险。&lt;/p&gt;
&lt;p&gt;处置上，最稳妥的做法是：按发行版公告升级内核并重启；对无法立即升级的系统，分别按漏洞入口评估临时禁用模块或收紧 seccomp；对多租户、CI、容器宿主机和共享开发环境优先处理。&lt;/p&gt;
&lt;p&gt;参考资料：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Theori Copy Fail 说明：&lt;a class=&#34;link&#34; href=&#34;https://github.com/theori-io/copy-fail-CVE-2026-31431&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/theori-io/copy-fail-CVE-2026-31431&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CERT-EU Copy Fail 安全公告：&lt;a class=&#34;link&#34; href=&#34;https://cert.europa.eu/publications/security-advisories/2026-005/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://cert.europa.eu/publications/security-advisories/2026-005/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AlmaLinux Dirty Frag 说明：&lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/blog/2026-05-07-dirty-frag/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://almalinux.org/blog/2026-05-07-dirty-frag/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AlmaLinux Fragnesia 说明：&lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/blog/2026-05-13-fragnesia-cve-2026-46300/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://almalinux.org/blog/2026-05-13-fragnesia-cve-2026-46300/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;V12 Security Fragnesia PoC 说明：&lt;a class=&#34;link&#34; href=&#34;https://github.com/v12-security/pocs/tree/main/fragnesia&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/v12-security/pocs/tree/main/fragnesia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>2026 年 5 月 Edge 爆高危漏洞 CVE-2026-2441：访问恶意网页或被远程执行代码</title>
        <link>https://knightli.com/2026/05/06/microsoft-edge-cve-2026-2441-security-update/</link>
        <pubDate>Wed, 06 May 2026 08:30:17 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/06/microsoft-edge-cve-2026-2441-security-update/</guid>
        <description>&lt;p&gt;Microsoft Edge 近期发布了多轮安全更新，修复来自 Chromium 项目及 Edge 组件的多个安全问题。其中，&lt;code&gt;CVE-2026-2441&lt;/code&gt; 已被 Chromium 团队报告已遭在野利用，Microsoft Edge 的稳定版和扩展稳定版均已提供修复。&lt;/p&gt;
&lt;p&gt;如果日常使用 Edge 浏览网页，尤其是在 Windows 设备上处理登录账号、邮件、网银、后台管理或企业系统，建议尽快确认浏览器已经升级到最新版本。&lt;/p&gt;
&lt;h2 id=&#34;漏洞风险&#34;&gt;漏洞风险
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CVE-2026-2441&lt;/code&gt; 属于已被攻击者关注并利用的高风险漏洞。浏览器漏洞的典型利用方式，是诱导用户访问包含特制内容的网页，触发渲染引擎或相关组件缺陷。&lt;/p&gt;
&lt;p&gt;在实际攻击中，这类漏洞可能带来以下风险：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;执行恶意代码或配合其他漏洞进一步突破沙箱限制。&lt;/li&gt;
&lt;li&gt;绕过部分安全限制，扩大攻击面。&lt;/li&gt;
&lt;li&gt;窃取浏览器中的敏感数据、会话信息或页面内容。&lt;/li&gt;
&lt;li&gt;造成浏览器崩溃、页面异常或拒绝服务。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;需要注意的是，官方通常不会在补丁刚发布时公开完整攻击细节，避免漏洞被更多攻击者复现。因此，对普通用户来说，最有效的防护措施就是及时更新。&lt;/p&gt;
&lt;h2 id=&#34;受影响范围&#34;&gt;受影响范围
&lt;/h2&gt;&lt;p&gt;Microsoft Edge 基于 Chromium，相关漏洞会影响多个平台上的 Edge 版本，包括 Windows、macOS、Linux 以及移动端版本。只要浏览器版本低于包含修复的版本，就存在风险。&lt;/p&gt;
&lt;p&gt;根据 Microsoft Edge 安全更新发行说明，2026 年 2 月 14 日发布的 Edge 稳定通道 &lt;code&gt;145.0.3800.58&lt;/code&gt; 已包含 &lt;code&gt;CVE-2026-2441&lt;/code&gt; 修复；2026 年 2 月 17 日发布的扩展稳定通道 &lt;code&gt;144.0.3719.130&lt;/code&gt; 也包含该修复。后续版本继续累积 Chromium 项目的安全修补。&lt;/p&gt;
&lt;p&gt;截至 2026 年 5 月 6 日，Edge 安全更新页中最新列出的稳定通道安全版本为 2026 年 4 月 30 日发布的 &lt;code&gt;147.0.3912.98&lt;/code&gt;。如果本机版本明显低于这些版本，应立即更新。&lt;/p&gt;
&lt;h2 id=&#34;立即更新-edge&#34;&gt;立即更新 Edge
&lt;/h2&gt;&lt;p&gt;普通用户可以按下面步骤检查并更新：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开 Microsoft Edge。&lt;/li&gt;
&lt;li&gt;在地址栏输入 &lt;code&gt;edge://settings/help&lt;/code&gt; 并回车。&lt;/li&gt;
&lt;li&gt;等待浏览器自动检查更新。&lt;/li&gt;
&lt;li&gt;更新完成后，点击“重新启动”。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;企业环境中，管理员应检查终端管理策略、WSUS、Intune、组策略或第三方补丁系统，确认 Edge 更新没有被长期延迟。对无法立即更新的设备，应减少访问未知网站，并优先限制高风险用户组的外部网页访问。&lt;/p&gt;
&lt;h2 id=&#34;防护建议&#34;&gt;防护建议
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;尽快升级 Edge，并在更新后重启浏览器。&lt;/li&gt;
&lt;li&gt;不要点击来源不明的邮件链接、聊天链接和广告跳转。&lt;/li&gt;
&lt;li&gt;避免在旧版本浏览器中访问后台管理、支付、邮箱等敏感页面。&lt;/li&gt;
&lt;li&gt;保持 Windows、杀毒软件和浏览器扩展同步更新。&lt;/li&gt;
&lt;li&gt;删除长期不用或来源不明的浏览器扩展。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;参考来源&#34;&gt;参考来源
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://learn.microsoft.com/zh-cn/deployedge/microsoft-edge-relnotes-security&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microsoft Edge 安全更新的发行说明&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://msrc.microsoft.com/update-guide/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microsoft 安全更新指南&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CVE-2026-2441&lt;/code&gt; 的重点不在于漏洞细节有多复杂，而在于它已经被报告已遭在野利用。对个人用户和企业终端来说，最直接的处置方式是打开 &lt;code&gt;edge://settings/help&lt;/code&gt;，确认 Edge 已经完成更新并重启。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Copy Fail 漏洞 CVE-2026-31431：Linux 内核文件复制路径中的容器逃逸风险</title>
        <link>https://knightli.com/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/</link>
        <pubDate>Fri, 01 May 2026 18:42:34 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/</guid>
        <description>&lt;p&gt;Copy Fail 是一个影响 Linux 内核文件复制路径的漏洞，编号为 &lt;code&gt;CVE-2026-31431&lt;/code&gt;。
Bugcrowd 的分析把它称为一个值得关注的内核级问题：在特定条件下，非特权用户可以利用文件复制相关逻辑触发越权写入，进而造成权限提升或容器逃逸。&lt;/p&gt;
&lt;p&gt;从风险角度看，它不是普通应用层漏洞。
问题发生在内核处理文件复制和页面缓存的路径上，因此影响面会延伸到容器、共享主机、CI/CD Runner、PaaS 平台和多租户 Linux 环境。
如果攻击者已经能在系统里运行低权限代码，漏洞就可能成为进一步突破隔离边界的跳板。&lt;/p&gt;
&lt;h2 id=&#34;漏洞大致发生在哪里&#34;&gt;漏洞大致发生在哪里
&lt;/h2&gt;&lt;p&gt;Copy Fail 关联的是 Linux 内核中的文件复制能力。
现代 Linux 提供了多种高效复制路径，例如 &lt;code&gt;copy_file_range&lt;/code&gt;、splice 类路径以及不同文件系统之间的数据复制优化。
这些机制的目标是减少用户态和内核态之间的数据搬运，提高大文件复制性能。&lt;/p&gt;
&lt;p&gt;问题在于，高性能复制路径通常会复用页缓存、文件偏移、权限检查和文件系统回调。
如果其中某个边界条件处理不严，内核可能在错误的权限上下文里执行写入，或者把本不应该被修改的数据页暴露给攻击者控制。&lt;/p&gt;
&lt;p&gt;Copy Fail 的核心风险可以概括为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;攻击者不需要 root 权限；&lt;/li&gt;
&lt;li&gt;攻击入口来自常见文件复制能力；&lt;/li&gt;
&lt;li&gt;影响点在内核态；&lt;/li&gt;
&lt;li&gt;在容器环境里，漏洞可能绕过命名空间和挂载隔离；&lt;/li&gt;
&lt;li&gt;成功利用后可能写入宿主机上不应被容器修改的内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这也是它被重点讨论的原因。
容器安全依赖 Linux 内核提供隔离能力，一旦内核路径本身出现越权写入，容器边界就会变得脆弱。&lt;/p&gt;
&lt;h2 id=&#34;为什么容器场景更敏感&#34;&gt;为什么容器场景更敏感
&lt;/h2&gt;&lt;p&gt;容器并不是虚拟机。
容器内进程和宿主机共享同一个 Linux 内核，只是通过 namespace、cgroup、capability、seccomp、AppArmor/SELinux 等机制做隔离。&lt;/p&gt;
&lt;p&gt;如果漏洞发生在用户态服务里，通常只影响某个容器或某个进程。
但如果漏洞发生在内核里，尤其是可以被非特权用户触发的内核漏洞，攻击者可能从容器内部影响宿主机。&lt;/p&gt;
&lt;p&gt;Copy Fail 的危险点就在这里。
很多平台允许用户提交构建任务、运行脚本、启动容器或执行插件。
攻击者只要能在容器里运行代码，就可能尝试利用内核文件复制路径突破隔离。&lt;/p&gt;
&lt;p&gt;高风险环境包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kubernetes 集群中的不可信工作负载；&lt;/li&gt;
&lt;li&gt;CI/CD 平台的共享 Runner；&lt;/li&gt;
&lt;li&gt;允许用户上传代码执行的沙箱平台；&lt;/li&gt;
&lt;li&gt;多租户 Linux 主机；&lt;/li&gt;
&lt;li&gt;容器化 PaaS；&lt;/li&gt;
&lt;li&gt;运行第三方插件或扩展的系统。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果这些环境里的内核版本处于受影响范围，而且缺少额外限制，风险就会明显升高。&lt;/p&gt;
&lt;h2 id=&#34;受影响范围要看内核补丁状态&#34;&gt;受影响范围要看内核补丁状态
&lt;/h2&gt;&lt;p&gt;这类漏洞的判断不能只看发行版名称。
同一个 Ubuntu、Debian、RHEL、Fedora 或 Arch 版本，是否受影响取决于当前实际运行的内核包，以及发行版是否已经回补补丁。&lt;/p&gt;
&lt;p&gt;排查时应优先确认三件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;当前运行内核版本；&lt;/li&gt;
&lt;li&gt;发行版安全公告是否提到 &lt;code&gt;CVE-2026-31431&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;云厂商或托管平台是否已经完成宿主机内核修复。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;可以先在系统上确认内核版本：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后查看发行版安全公告、内核 changelog 或云平台公告。
不要只根据主版本号判断是否安全，因为很多企业发行版会把安全补丁回补到旧版本内核里。&lt;/p&gt;
&lt;h2 id=&#34;临时缓解思路&#34;&gt;临时缓解思路
&lt;/h2&gt;&lt;p&gt;最可靠的修复方式仍然是更新内核。
但在补丁无法立刻部署的环境里，可以先降低暴露面。&lt;/p&gt;
&lt;p&gt;常见缓解方向包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;禁止不可信用户运行特权容器；&lt;/li&gt;
&lt;li&gt;避免给容器挂载敏感宿主机路径；&lt;/li&gt;
&lt;li&gt;收紧容器 capability，尤其不要随意授予 &lt;code&gt;CAP_SYS_ADMIN&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;使用 seccomp、AppArmor 或 SELinux 限制危险系统调用和文件访问；&lt;/li&gt;
&lt;li&gt;将不可信工作负载迁移到隔离更强的虚拟机；&lt;/li&gt;
&lt;li&gt;对 CI/CD Runner 做按任务销毁，避免长期复用同一宿主机；&lt;/li&gt;
&lt;li&gt;监控异常文件写入、权限变更和容器逃逸迹象。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些措施不能替代补丁。
它们的作用是降低攻击成功率和影响面，特别是在补丁发布到生产环境之前争取缓冲时间。&lt;/p&gt;
&lt;h2 id=&#34;修复优先级&#34;&gt;修复优先级
&lt;/h2&gt;&lt;p&gt;建议按环境风险排序处理。&lt;/p&gt;
&lt;p&gt;优先修复：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对外提供容器执行能力的平台；&lt;/li&gt;
&lt;li&gt;运行不可信代码的 CI/CD 节点；&lt;/li&gt;
&lt;li&gt;多租户 Kubernetes 节点；&lt;/li&gt;
&lt;li&gt;有用户自定义插件或脚本执行能力的系统；&lt;/li&gt;
&lt;li&gt;共享开发机、教学机、实验平台。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;相对低优先级：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;单用户桌面；&lt;/li&gt;
&lt;li&gt;只运行可信服务的内网主机；&lt;/li&gt;
&lt;li&gt;已经使用虚拟机隔离不可信代码的环境。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;即便风险较低，也建议随发行版更新内核。
内核漏洞常常会被组合进更复杂的攻击链里，拖延补丁没有太多收益。&lt;/p&gt;
&lt;h2 id=&#34;给运维团队的检查清单&#34;&gt;给运维团队的检查清单
&lt;/h2&gt;&lt;p&gt;可以按下面顺序处理：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;盘点所有 Linux 主机和容器节点；&lt;/li&gt;
&lt;li&gt;标记会运行不可信代码的机器；&lt;/li&gt;
&lt;li&gt;检查当前内核版本和发行版安全公告；&lt;/li&gt;
&lt;li&gt;优先更新高风险节点；&lt;/li&gt;
&lt;li&gt;对无法立即更新的节点启用临时隔离策略；&lt;/li&gt;
&lt;li&gt;检查容器运行时配置，移除不必要的特权和宿主机挂载；&lt;/li&gt;
&lt;li&gt;更新后重启节点，确认新内核已经实际生效；&lt;/li&gt;
&lt;li&gt;保留变更记录，方便后续审计。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;内核包安装完成并不代表系统已经运行在新内核上。
更新后必须重启，并再次确认：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;Copy Fail / &lt;code&gt;CVE-2026-31431&lt;/code&gt; 的重点不是某个应用崩溃，而是 Linux 内核文件复制路径中的权限边界问题。
它让非特权代码有机会触碰更高权限的数据写入路径，因此在容器和多租户环境里尤其值得重视。&lt;/p&gt;
&lt;p&gt;处理这类漏洞时，最重要的是两件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;尽快跟进发行版或云厂商提供的内核补丁；&lt;/li&gt;
&lt;li&gt;在补丁部署前限制不可信代码、特权容器和敏感宿主机挂载。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对个人桌面来说，它可能不是马上需要恐慌的问题。
但对运行容器平台、CI/CD、沙箱和共享主机的团队来说，应该把它当作高优先级内核安全更新处理。&lt;/p&gt;
&lt;p&gt;参考来源：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bugcrowd.com/blog/what-we-know-about-copy-fail-cve-2026-31431/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bugcrowd：What We Know About Copy Fail CVE-2026-31431&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://copy.fail/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Copy Fail 官方说明&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
