<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>セキュリティ動向 on KnightLiブログ</title>
        <link>https://www.knightli.com/ja/categories/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%8B%95%E5%90%91/</link>
        <description>Recent content in セキュリティ動向 on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Sun, 17 May 2026 09:29:03 +0800</lastBuildDate><atom:link href="https://www.knightli.com/ja/categories/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%8B%95%E5%90%91/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>ssh-keysign-pwn（CVE-2026-46333）解説：Linux のローカル情報漏えい、SSH ホスト鍵、/etc/shadow のリスク</title>
        <link>https://www.knightli.com/ja/2026/05/17/ssh-keysign-pwn-cve-2026-46333/</link>
        <pubDate>Sun, 17 May 2026 09:29:03 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/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;この脆弱性は高い優先度で対応すべきです。理由は次の 4 つです。&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 でこの問題を公開しました。Qualys はそれ以前に Linux kernel の &lt;code&gt;__ptrace_may_access()&lt;/code&gt; ロジック問題を &lt;code&gt;security@kernel.org&lt;/code&gt; に報告しており、上流修正は Linus によってマージ済みでした。その後、公開 exploit コードが現れたため、Qualys は情報を oss-security に投稿しました。&lt;/p&gt;
&lt;p&gt;その後 Linux kernel CVE チームがこの問題に &lt;code&gt;CVE-2026-46333&lt;/code&gt; を割り当てました。NVD ページではソースが 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;mm&lt;/code&gt; を持たないため、カーネル内の &lt;code&gt;ptrace&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;公開議論でよく挙がる対象は次の 2 つです。&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 のホスト ID 信頼を損なう可能性があります。&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 データセットへ追加されており、その時点では 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 状態と fixed versions を掲載しています。&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;1 つ目の誤解：これは 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;2 つ目の誤解：ローカルユーザーがいなければ完全に安全、というわけではありません。確かにローカル実行条件は必要ですが、実際の攻撃チェーンでは Web サービス、CI、スクリプト、弱いパスワード、コンテナエスケープなどを足がかりに低権限のローカル実行を得ることがよくあります。&lt;/p&gt;
&lt;p&gt;3 つ目の誤解：&lt;code&gt;ptrace_scope&lt;/code&gt; を設定すれば十分、というものです。これは一時的な緩和策であり、根本修正ではありません。カーネル更新と再起動は必要です。&lt;/p&gt;
&lt;p&gt;4 つ目の誤解：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 version を特定する。&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://www.knightli.com/ja/2026/05/15/nginx-rift-cve-2026-42945/</link>
        <pubDate>Fri, 15 May 2026 17:55:42 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/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 年間潜伏」「パスワード不要でリモート制御」「サーバーの 30% が影響」といった見出しになりがちです。たしかに広まりやすい表現ですが、パッチ情報や 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; ディレクティブが続き、&lt;code&gt;$1&lt;/code&gt; や &lt;code&gt;$2&lt;/code&gt; のような名前なし PCRE キャプチャグループを使い、さらに置換文字列に疑問符 &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;CNA である F5 の評価は次のとおりです。&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;CVE-2026-42945&lt;/code&gt;、つまり &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt; の buffer overflow 修正も含まれています。&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;1-分で緊急度を判断する&#34;&gt;1 分で緊急度を判断する
&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;最初の 2 項目に該当し、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 などは、セキュリティパッチを安定ブランチへ backport することが多く、見かけのバージョンが 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 では、次の 3 点を同時に確認します。&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 annotation、テンプレートが自動生成した 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;エラーがなければ、滑らかに reload します。&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;master プロセスの起動時刻やバイナリパスも確認し、実行中のサービスが古いプロセスのまま残っていないことを見ます。必要ならメンテナンス時間を設けてサービスを再起動し、古い 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、権限分離、サービス reload 状態を確認する。&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 ローカル権限昇格脆弱性 3 件の比較</title>
        <link>https://www.knightli.com/ja/2026/05/15/linux-lpe-dirty-frag-copy-fail-fragnesia-analysis/</link>
        <pubDate>Fri, 15 May 2026 13:24:04 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/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;3-つの脆弱性の概要&#34;&gt;3 つの脆弱性の概要
&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 年に導入されたインプレース最適化に由来するとされています。特定の状況で、カーネルが期待どおりにデータをコピーせず、ページキャッシュページを writable な宛先経路に入れてしまいます。攻撃者は &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 はこれを同じコード領域における 3 つ目の local-root 問題として位置付けています。ポイントは、&lt;code&gt;skb_try_coalesce()&lt;/code&gt; が socket buffer fragment を結合する際に共有 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;3 つの共通点は「コード位置が完全に同じ」ということではなく、攻撃結果とリスクモデルが非常に似ていることです。&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 マーカーを保持しなかったことが問題です。Copy Fail の暗号 API 問題というより、Dirty Frag のリスク面にある別の分岐と見るべきです。&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;この種の脆弱性では、ディストリビューション名やカーネルのメジャーバージョンだけで判断しないことが重要です。ディストリビューションは修正をバックポートしますし、クラウドベンダーは独自のカーネルブランチを維持します。企業向けディストリビューションでは追加パッチが入っていることもあります。&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 暗号インターフェースを使っていない場合は、関連モジュールの無効化を評価できます。コンテナ環境では、信頼できないワークロードが該当 socket を自由に作れないよう、まず seccomp ポリシーを確認すべきです。&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;3-つの脆弱性が示すもの&#34;&gt;3 つの脆弱性が示すもの
&lt;/h2&gt;&lt;p&gt;本当に警戒すべきなのは CVE の数だけではありません。これらの脆弱性はすべて、ゼロコピー、&lt;code&gt;splice&lt;/code&gt;、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; 暗号 API 経路を通ります。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>Fragnesia (CVE-2026-46300)：Linux カーネルのローカル権限昇格脆弱性の影響と緩和策</title>
        <link>https://www.knightli.com/ja/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/</link>
        <pubDate>Fri, 15 May 2026 13:18:01 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/</guid>
        <description>&lt;p&gt;Linux カーネルで、Dirty Frag と同じ系統の攻撃面に関係するローカル権限昇格脆弱性が新たに報告されました。Fragnesia (CVE-2026-46300) です。&lt;/p&gt;
&lt;p&gt;V12 Security の公開情報によると、Fragnesia は Linux のローカル権限昇格脆弱性です。攻撃者はホスト上で高権限を持っている必要はありません。ローカルでコードを実行できれば、カーネルの XFRM ESP-in-TCP サブシステムのロジック欠陥を利用し、読み取り専用ファイルのページキャッシュ内容をバイト単位で書き換え、最終的に root shell を得られる可能性があります。&lt;/p&gt;
&lt;p&gt;原資料：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;V12 Security PoC 説明：&lt;a class=&#34;link&#34; href=&#34;https://github.com/v12-security/pocs/blob/main/fragnesia/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/v12-security/pocs/blob/main/fragnesia/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この記事では再現可能な攻撃手順は扱わず、運用側が把握すべきリスクと対応方針に絞ります。&lt;/p&gt;
&lt;h2 id=&#34;dirty-frag-との関係&#34;&gt;Dirty Frag との関係
&lt;/h2&gt;&lt;p&gt;V12 Security は Fragnesia を Dirty Frag 脆弱性クラスに分類しています。Dirty Frag と同一の bug ではありませんが、Linux カーネルの XFRM ESP-in-TCP という同じ攻撃面にある別の問題です。&lt;/p&gt;
&lt;p&gt;XFRM は Linux カーネルで IPsec を処理するためのフレームワークです。ESP-in-TCP は ESP 暗号化トラフィックを TCP 上で運ぶ仕組みに関係します。Fragnesia の問題は、共有ページフラグメントと socket buffer の結合処理にあります。特定の状況で、カーネルが fragment がまだ共有状態であることを見失い、制御可能な書き込み余地が生まれます。&lt;/p&gt;
&lt;p&gt;この種の問題は Dirty Pipe / Dirty Frag のようなページキャッシュ書き込み脆弱性を想起させます。具体的なコードは同一ではありませんが、攻撃効果が読み取り専用ファイルのページキャッシュ上のコピーに到達する点が共通しています。&lt;/p&gt;
&lt;h2 id=&#34;なぜ危険なのか&#34;&gt;なぜ危険なのか
&lt;/h2&gt;&lt;p&gt;Fragnesia が危険な理由は主に 3 つあります。&lt;/p&gt;
&lt;p&gt;第一に、これはローカル権限昇格です。攻撃者が通常ユーザーとしてコードを実行できるだけで、root に昇格できる可能性があります。複数ユーザーのサーバー、コンテナホスト、CI runner、共有開発機、VPS、Shell を公開している環境では、通常のデスクトップよりも深刻です。&lt;/p&gt;
&lt;p&gt;第二に、従来型の競合条件に依存しません。V12 の説明では、ESP-in-TCP の処理フローを構成し、すでに socket buffer に splice されたファイルページ上で暗号化ストリームを処理させることで、ページキャッシュ内容にバイト単位の影響を与える経路が示されています。これは単なる理論上の可能性ではなく、安定した利用経路が検証されていることを意味します。&lt;/p&gt;
&lt;p&gt;第三に、変更されるのはディスク上のファイルではなくページキャッシュです。公開説明の例では &lt;code&gt;/usr/bin/su&lt;/code&gt; が対象になっています。成功後もディスク上のファイルは恒久的には書き換えられず、変更はメモリ上のページキャッシュに存在します。ディスクファイルの hash や整合性だけを確認する巡回チェックでは異常を見逃す可能性があります。&lt;/p&gt;
&lt;p&gt;管理者にとって厄介なのはここです。ファイルは変わっていないように見えても、汚染されたページキャッシュ上の対象バイナリを実行すると権限昇格につながる可能性があります。&lt;/p&gt;
&lt;h2 id=&#34;既知の影響範囲&#34;&gt;既知の影響範囲
&lt;/h2&gt;&lt;p&gt;V12 Security の説明では、Dirty Frag の影響を受け、2026 年 5 月 13 日の関連パッチが適用されていないカーネルは Fragnesia の影響も受けるとされています。公開検証環境には Ubuntu 22.04、Ubuntu 24.04、&lt;code&gt;6.8.0-111-generic&lt;/code&gt; などのカーネルが含まれます。&lt;/p&gt;
&lt;p&gt;注意点は 2 つあります。&lt;/p&gt;
&lt;p&gt;第一に、ディストリビューションのメジャーバージョンだけで判断しないことです。Ubuntu 22.04 / 24.04 が影響を受けるかどうかは、ディストリビューション名ではなく実際のカーネルパッチ状態で決まります。&lt;/p&gt;
&lt;p&gt;第二に、デフォルトの AppArmor 制限だけに頼らないことです。Ubuntu の非特権ユーザー名前空間に対する AppArmor 制限はハードルを上げますが、公開情報ではそれは追加の回避対象であり、脆弱性本体の根本対策ではありません。&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;p&gt;V12 が示す緩和方向は Dirty Frag と同じです。システムが IPsec ESP や RxRPC に依存していない場合、&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;より安全な対応順序は次の通りです。&lt;/p&gt;
&lt;ol&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;不要なローカルアカウント、Shell、コンテナ脱出面、低権限実行入口を確認する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;モジュール無効化を最終修復とみなすべきではありません。これは露出面を一時的に下げる手段です。&lt;/p&gt;
&lt;h2 id=&#34;すでに悪用された疑いがある場合&#34;&gt;すでに悪用された疑いがある場合
&lt;/h2&gt;&lt;p&gt;Fragnesia の特徴の一つはページキャッシュ汚染です。V12 は、悪用後に対象ファイルのページキャッシュ上のコピーが注入内容を含み、ページが追い出されるかシステムが再起動されるまで、後続の実行で異常な挙動を起こし得ると説明しています。&lt;/p&gt;
&lt;p&gt;悪用が疑われる場合は、少なくとも次を実施します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;できるだけ早くログと監査記録を保全する。&lt;/li&gt;
&lt;li&gt;最近の異常なローカルログイン、低権限ユーザー活動、不審なプロセス、root shell の痕跡を確認する。&lt;/li&gt;
&lt;li&gt;関連するページキャッシュをクリアするか、直接再起動する。&lt;/li&gt;
&lt;li&gt;修正済みカーネルへ更新する。&lt;/li&gt;
&lt;li&gt;重要バイナリの整合性を確認する。ただしディスク hash のみに依存しない。&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;この種の脆弱性では、すべての 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;共有開発機&lt;/li&gt;
&lt;li&gt;コンテナホスト&lt;/li&gt;
&lt;li&gt;VPS とクラウドサーバー&lt;/li&gt;
&lt;li&gt;SSH を公開しているエッジノード&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;Fragnesia が注目に値するのは名前が新しいからではありません。Linux のローカル権限昇格問題を、ページキャッシュとカーネルネットワークサブシステムの複雑な境界へ再び引き戻したからです。&lt;/p&gt;
&lt;p&gt;管理者にとって重要なのは、攻撃手順を研究することではなく、カーネルのパッチ状態を確認し、ESP / RxRPC への依存を評価し、露出度の高いマシンを優先して更新し、「ディスクファイルが変わっていない」ことが「システムが影響を受けていない」ことを意味しないと理解することです。&lt;/p&gt;
&lt;p&gt;影響を受けるシステムでは、最終的な答えはディストリビューションが提供するカーネル更新をできるだけ早く適用することです。一時的なモジュール無効化は移行措置であり、パッチの代替ではありません。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
