<?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://knightli.com/ja/tags/%E8%84%86%E5%BC%B1%E6%80%A7%E5%88%86%E6%9E%90/</link>
        <description>Recent content in 脆弱性分析 on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Fri, 15 May 2026 17:55:42 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/%E8%84%86%E5%BC%B1%E6%80%A7%E5%88%86%E6%9E%90/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>CVE-2026-42945 の確認方法：Nginx Rift の発動条件、バージョン確認、アップグレード方針</title>
        <link>https://knightli.com/ja/2026/05/15/nginx-rift-cve-2026-42945/</link>
        <pubDate>Fri, 15 May 2026 17:55:42 +0800</pubDate>
        
        <guid>https://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>Copy Fail 脆弱性 CVE-2026-31431：Linux カーネルのファイルコピー経路におけるコンテナエスケープリスク</title>
        <link>https://knightli.com/ja/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/ja/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;コンテナ環境では、namespace やマウント隔離を迂回する可能性がある。&lt;/li&gt;
&lt;li&gt;悪用に成功すると、コンテナが変更できないはずのホスト上の内容へ書き込める可能性がある。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これが Copy Fail が大きく取り上げられる理由である。
コンテナセキュリティは 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>
