<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IMA on 思いつきそうで思いつかなくていたときに</title><link>https://blog.fuga.jp/tags/ima/</link><description>Recent content in IMA on 思いつきそうで思いつかなくていたときに</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><copyright>Copyright(c) 2022-2025 SATO Daisuke. All rights reserved.</copyright><lastBuildDate>Wed, 26 Aug 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://blog.fuga.jp/tags/ima/index.xml" rel="self" type="application/rss+xml"/><item><title>見過ごされた一手が、いちばん遠くまで届く — CVSS満点の7か月と、フラグ1つが眠らせていた7倍のレイテンシ（2026/8/26 Linux・OSSトレンド）</title><link>https://blog.fuga.jp/posts/2026-08-26-linux-oss-trend/</link><pubDate>Wed, 26 Aug 2026 00:00:00 +0900</pubDate><guid>https://blog.fuga.jp/posts/2026-08-26-linux-oss-trend/</guid><description>&lt;h2 id="はじめに"&gt;&lt;a href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" class="header-anchor"&gt;&lt;/a&gt;はじめに
&lt;/h2&gt;&lt;p&gt;修正はもう出ている。フラグを1つ立てるだけでいい。ログに1行足せば証明できる。——どれも「それだけのこと」に見えます。だからこそ後回しにされ、気づかれないまま何年も残ってしまう。今日お届けする5本は、その「見過ごされた小さな一手」が、いちばん遠いところまで影響を届けていた話です。&lt;/p&gt;
&lt;p&gt;7か月前にパッチが出ていた CVSS 10.0 の脆弱性に、連邦機関が3日でパッチを当てるよう命じられた件。カーネルに機能フラグを1つ宣言していなかっただけで、Wi-Fi のレイテンシが7倍悪化していた件。ユーザー空間から書き込まれた測定ポリシーが、測定されないまま素通りしていた Linux の IMA。そして、Mozilla が「Rust で書き直してくれたら採用する」と言い張った結果、Chrome と Firefox が同じ Rust のクレートを共有することになった話。&lt;/p&gt;
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/Vmyakp6XQlE" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h2 id="1-パッチは7か月前に出ていた--cvss-100-の-oracle-weblogic-脆弱性にcisa-が最短の3日期限"&gt;&lt;a href="#1-%e3%83%91%e3%83%83%e3%83%81%e3%81%af7%e3%81%8b%e6%9c%88%e5%89%8d%e3%81%ab%e5%87%ba%e3%81%a6%e3%81%84%e3%81%9f--cvss-100-%e3%81%ae-oracle-weblogic-%e8%84%86%e5%bc%b1%e6%80%a7%e3%81%abcisa-%e3%81%8c%e6%9c%80%e7%9f%ad%e3%81%ae3%e6%97%a5%e6%9c%9f%e9%99%90" class="header-anchor"&gt;&lt;/a&gt;1. パッチは7か月前に出ていた — CVSS 10.0 の Oracle WebLogic 脆弱性に、CISA が最短の3日期限
&lt;/h2&gt;&lt;p&gt;2026年8月24日、CISA（米サイバーセキュリティ・インフラセキュリティ庁）が KEV（Known Exploited Vulnerabilities、悪用が確認された脆弱性のカタログ）に CVE-2026-21962 を追加しました。連邦機関に課されたパッチ適用の期限は2026年8月27日。KEV 制度が認めるなかで最も短い3日間です。&lt;/p&gt;
&lt;p&gt;対象は Oracle HTTP Server と WebLogic Server Proxy Plug-in。&lt;a class="link" href="https://nvd.nist.gov/vuln/detail/CVE-2026-21962" target="_blank" rel="noopener"
 &gt;NVD が確定させた CVSSv3.1 スコアは 10.0 CRITICAL&lt;/a&gt;、ベクトルは &lt;code&gt;CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N&lt;/code&gt; です。ネットワーク越しに、特別な条件も認証もユーザー操作もなしに到達できる。しかも &lt;code&gt;S:C&lt;/code&gt;（Scope: Changed）が付いています。フロントに立つ Oracle HTTP Server を抜けると、その先のバックエンド WebLogic まで影響が波及するという意味です。NVD の記述では「重要データへの無許可の作成・削除・変更アクセス、または全データへの完全アクセス」が可能とされています。&lt;/p&gt;
&lt;p&gt;影響を受けるサポート対象バージョンは 12.2.1.4.0、14.1.1.0.0、14.1.2.0.0 です。CWE 分類は CWE-284（不適切なアクセス制御）で、&lt;a class="link" href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-21962" target="_blank" rel="noopener"
 &gt;CISA の KEV エントリ&lt;/a&gt;でもこの分類が付けられています。&lt;/p&gt;
&lt;h3 id="修正済みの脆弱性がなぜ8月に緊急扱いになるのか"&gt;&lt;a href="#%e4%bf%ae%e6%ad%a3%e6%b8%88%e3%81%bf%e3%81%ae%e8%84%86%e5%bc%b1%e6%80%a7%e3%81%8c%e3%81%aa%e3%81%9c8%e6%9c%88%e3%81%ab%e7%b7%8a%e6%80%a5%e6%89%b1%e3%81%84%e3%81%ab%e3%81%aa%e3%82%8b%e3%81%ae%e3%81%8b" class="header-anchor"&gt;&lt;/a&gt;修正済みの脆弱性が、なぜ8月に緊急扱いになるのか
&lt;/h3&gt;&lt;p&gt;ここが今回いちばん引っかかるところです。この脆弱性のパッチは、&lt;a class="link" href="https://www.oracle.com/security-alerts/cpujan2026.html" target="_blank" rel="noopener"
 &gt;2026年1月20日の Oracle Critical Patch Update&lt;/a&gt; ですでに提供されていました。つまり &lt;strong&gt;直せる状態が7か月続いていた&lt;/strong&gt; のです。&lt;/p&gt;
&lt;p&gt;にもかかわらず時系列はこうなります。1月20日にパッチ公開。その2日後の1月22日に PoC（概念実証コード）が GitHub へ公開され、&lt;a class="link" href="https://www.cloudsek.com/blog/honey-for-hackers-a-study-of-attacks-targeting-the-recent-cve-2026-21962-and-other-critical-weblogic-vulnerabilities-on-a-high-interactive-oracle-honeypot" target="_blank" rel="noopener"
 &gt;CloudSEK のハニーポット&lt;/a&gt;には同じ日のうちに最初の攻撃が記録されます。1月27日には複数国からのスキャンが始まり、その後 &lt;a class="link" href="https://www.imperva.com/blog/imperva-customers-protected-against-cve-2026-21962-in-oracle-http-and-weblogic/" target="_blank" rel="noopener"
 &gt;Imperva は21カ国のサイトを狙った14万件超の攻撃試行を観測&lt;/a&gt;したと報告しています。7月には SOCRadar が、中国に関連するとみられる脅威アクターによる政府インフラへの攻撃でこの脆弱性が使われたと報告したと&lt;a class="link" href="https://www.securityweek.com/cisa-warns-of-exploited-oracle-weblogic-vulnerability/" target="_blank" rel="noopener"
 &gt;報じられています&lt;/a&gt;。そして8月24日、KEV 追加と3日期限。&lt;/p&gt;
&lt;p&gt;攻撃の手口自体は派手なものではありません。プロキシ層のアクセス制御不備（CWE-284）を突くもので、パス正規化の差異を利用した細工済みパスを投げることで、本来バックエンドの WebLogic だけが受けるべきリクエストを外から直接届かせます。使われたツールも &lt;code&gt;libredtail-http&lt;/code&gt; や Nmap Scripting Engine といった既製品で、高ボリュームの自動スキャンが主体でした。&lt;a class="link" href="https://www.theregister.com/security/2026/08/25/cisa-slaps-its-tightest-three-day-patching-deadline-on-perfect-10-oracle-flaw/5292107" target="_blank" rel="noopener"
 &gt;The Register は「CISA が最速3日のパッチ期限を CVSS 10.0 の欠陥に設定」と見出しを打ち&lt;/a&gt;、1月の開示から8月の KEV 追加までに7か月の空白があったこと自体を問題視しています。&lt;/p&gt;
&lt;h3 id="今日できること"&gt;&lt;a href="#%e4%bb%8a%e6%97%a5%e3%81%a7%e3%81%8d%e3%82%8b%e3%81%93%e3%81%a8" class="header-anchor"&gt;&lt;/a&gt;今日できること
&lt;/h3&gt;&lt;p&gt;パッチ適用が最優先ですが、Oracle のコミュニティフォーラムには、パッチ適用後に Apache の起動でつまずいた事例も投稿されています。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Cannot load wls-plugin-12214/lib/mod_wl_24.so into server:
undefined symbol: ons_ssl_context_destroy
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;更新されたプラグインライブラリと既存の SSL ライブラリのバイナリ互換性の問題で、「直しにいったら壊れた」状態になりうるということです。適用前に検証環境で試す価値はあります。&lt;/p&gt;
&lt;p&gt;すぐにパッチを当てられない場合の暫定措置としては、OHS と WebLogic 管理コンソールへのインターネットからの直接アクセスをファイアウォールで遮断すること、そして WAF で &lt;code&gt;/_proxy/&lt;/code&gt; や &lt;code&gt;/wl_proxy/&lt;/code&gt; 宛のパストラバーサル的なリクエストを検知・ブロックすることが挙げられています。Imperva は自社の CWAF と WAF Gateway について、追加設定なしで保護済み（out-of-the-box）だと報告しています。&lt;/p&gt;
&lt;p&gt;7か月あっても当たらないパッチがある。この事実のほうが、CVSS 10.0 という数字よりも重い教訓かもしれません。&lt;/p&gt;
&lt;h2 id="2-フラグを1つ立てていなかっただけ--ath11k-のレイテンシが155msから22msへ"&gt;&lt;a href="#2-%e3%83%95%e3%83%a9%e3%82%b0%e3%82%921%e3%81%a4%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%84%e3%81%aa%e3%81%8b%e3%81%a3%e3%81%9f%e3%81%a0%e3%81%91--ath11k-%e3%81%ae%e3%83%ac%e3%82%a4%e3%83%86%e3%83%b3%e3%82%b7%e3%81%8c155ms%e3%81%8b%e3%82%8922ms%e3%81%b8" class="header-anchor"&gt;&lt;/a&gt;2. フラグを1つ立てていなかっただけ — ath11k のレイテンシが155msから22msへ
&lt;/h2&gt;&lt;p&gt;Qualcomm の Wi-Fi 6（802.11ax）チップ向け Linux ドライバ &lt;code&gt;ath11k&lt;/code&gt; に、AQL（Airtime Queue Limits）とエアタイム公平性を追加する9本のパッチシリーズが、2026年8月24日に linux-wireless メーリングリストへ投稿されました。投稿者は Julius Bairaktaris で、&lt;a class="link" href="https://marc.info/?l=linux-wireless&amp;amp;m=178758146703148&amp;amp;w=2" target="_blank" rel="noopener"
 &gt;v3 のカバーレター&lt;/a&gt;には IPQ8074 アクセスポイントでの実測値が添えられています。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;条件&lt;/th&gt;
					&lt;th&gt;スループット&lt;/th&gt;
					&lt;th&gt;レイテンシ&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;パッチ前&lt;/td&gt;
					&lt;td&gt;94.6 Mbit/s&lt;/td&gt;
					&lt;td&gt;155 ms&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;パッチ適用・AQL 制限あり&lt;/td&gt;
					&lt;td&gt;74.3 Mbit/s&lt;/td&gt;
					&lt;td&gt;22 ms&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;パッチ6を除いた比較ベースライン&lt;/td&gt;
					&lt;td&gt;33.7 Mbit/s&lt;/td&gt;
					&lt;td&gt;21 ms&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;同じ負荷でレイテンシが155msから22msへ、およそ7分の1になります。あるいは同程度のレイテンシを保ったままスループットが 33.7 から 74.3 Mbit/s へ、2.2倍に増える。ラップトップで動画会議をしながら大きなファイルを落とすような場面で、体感が変わる水準の差です。&lt;/p&gt;
&lt;h3 id="原因は宣言していなかったこと"&gt;&lt;a href="#%e5%8e%9f%e5%9b%a0%e3%81%af%e5%ae%a3%e8%a8%80%e3%81%97%e3%81%a6%e3%81%84%e3%81%aa%e3%81%8b%e3%81%a3%e3%81%9f%e3%81%93%e3%81%a8" class="header-anchor"&gt;&lt;/a&gt;原因は「宣言していなかった」こと
&lt;/h3&gt;&lt;p&gt;なぜこれほど悪かったのか。Linux の Wi-Fi スタックである mac80211 は、ドライバが &lt;code&gt;NL80211_EXT_FEATURE_AQL&lt;/code&gt; と &lt;code&gt;NL80211_EXT_FEATURE_AIRTIME_FAIRNESS&lt;/code&gt; という2つの拡張機能フラグを宣言した場合にだけ、キュー深さの制御とフロー公平性の制御を有効にします。ath11k はこれらを宣言していませんでした。つまり mac80211 側にバッファブロート対策の仕組みはあったのに、ドライバが「使います」と手を挙げていなかったために一切適用されていなかった、ということです。&lt;/p&gt;
&lt;p&gt;その結果、ネットワークが飽和するとフロー分離も AQM（Active Queue Management）も効かないままハードウェアの TX リングにデータが積み上がり、1つのフローが帯域を独占しながらレイテンシが跳ね上がっていました。バッファブロートという言葉が広く知られるようになってから10数年、教科書どおりの症状がドライバの宣言漏れで再現していたわけです。&lt;/p&gt;
&lt;p&gt;そして、その核心にあたる&lt;a class="link" href="https://marc.info/?l=linux-wireless&amp;amp;m=178758144903126&amp;amp;w=2" target="_blank" rel="noopener"
 &gt;パッチ 2/9&lt;/a&gt;（&lt;code&gt;wifi: ath11k: enable airtime queue limits&lt;/code&gt;）の差分は、実際に1行だけです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#feacd0"&gt;wiphy_ext_feature_set&lt;/span&gt;(ar&lt;span style="color:#00d3d0"&gt;-&amp;gt;&lt;/span&gt;hw&lt;span style="color:#00d3d0"&gt;-&amp;gt;&lt;/span&gt;wiphy, NL80211_EXT_FEATURE_AQL);
&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;ただし「1行で7倍」と丸めるのは正確ではありません。この1行が効くようにするための前処理（SKB の解放経路の変更）、送信待ちパケット数とエアタイム実績の mac80211 への報告、ドライバ側 TXQ スケジューラの実装、TX 完了コールバックからのスケジューラ駆動——9本合わせて150行あまりの変更があって初めて成立します。特に、レビューで指摘を受けて追加されたパッチ6（TX 完了駆動のスケジューリング）が、レイテンシを保ったままスループットを 2.2 倍にする部分を担っています。&lt;/p&gt;
&lt;p&gt;レビューを担当したのは fq_codel や CAKE で知られる Toke Høiland-Jørgensen で、負荷時のレイテンシを実際に測ったか、そしてキューが詰まる恐れはないかという2点が指摘されました。投稿者はこれを受けてパッチ6を追加しています。なお &lt;a class="link" href="https://www.phoronix.com/news/ath11k-7x-Lower-Latency" target="_blank" rel="noopener"
 &gt;Phoronix は「9本のパッチは150行あまりの追加で、Claude Opus 5 の支援を受けた」と報じています&lt;/a&gt;が、v3 のカバーレター本文に AI への言及はありません。&lt;/p&gt;
&lt;h3 id="恩恵が届く範囲"&gt;&lt;a href="#%e6%81%a9%e6%81%b5%e3%81%8c%e5%b1%8a%e3%81%8f%e7%af%84%e5%9b%b2" class="header-anchor"&gt;&lt;/a&gt;恩恵が届く範囲
&lt;/h3&gt;&lt;p&gt;対象になるのは &lt;code&gt;ath11k&lt;/code&gt; を使う機種、つまり WCN6855 / WCN6750 などを積んだ Qualcomm 製 Wi-Fi 6 チップ搭載機です。ThinkPad の一部モデルや AMD 版のビジネスラップトップ、IPQ8074 / IPQ6018 ベースの Wi-Fi 6 ルーターなどが該当します。自分のマシンが該当するかは &lt;code&gt;lspci -k | grep -A3 -i network&lt;/code&gt; あたりで確認できます。&lt;/p&gt;
&lt;p&gt;ただし、これはまだメーリングリストへの投稿段階（v3）です。&lt;code&gt;ath-next&lt;/code&gt; へのマージを経て将来のカーネルに入る見込みですが、現時点で試すにはパッチを手で当てるか、先行適用しているディストリビューションを使う必要があります。&lt;/p&gt;
&lt;h2 id="3-10年近く越しの-job-objects--reactos-がプロセスグループ管理をマージ"&gt;&lt;a href="#3-10%e5%b9%b4%e8%bf%91%e3%81%8f%e8%b6%8a%e3%81%97%e3%81%ae-job-objects--reactos-%e3%81%8c%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e7%ae%a1%e7%90%86%e3%82%92%e3%83%9e%e3%83%bc%e3%82%b8" class="header-anchor"&gt;&lt;/a&gt;3. 10年近く越しの Job Objects — ReactOS がプロセスグループ管理をマージ
&lt;/h2&gt;&lt;p&gt;オープンソースの Windows 互換 OS「ReactOS」が、NT カーネルのプロセスグループ管理機構「Job Objects」の基本サポートをメインラインにマージしました。&lt;a class="link" href="https://github.com/reactos/reactos/pull/7500" target="_blank" rel="noopener"
 &gt;PR #7500&lt;/a&gt; がマージされたのは2026年8月22日です。&lt;/p&gt;
&lt;p&gt;Job Objects は複数のプロセスを1つのまとまりとして扱うためのカーネルオブジェクトで、&lt;a class="link" href="https://learn.microsoft.com/en-us/windows/win32/procthread/job-objects" target="_blank" rel="noopener"
 &gt;Microsoft の公式ドキュメント&lt;/a&gt;にあるとおり、ジョブに割り当てたプロセスが生成する子プロセスも自動的に同じジョブへ属します。まとめて終了させる、リソース制限をかける、といった操作が一括でできるため、Windows のサービス管理や、ブラウザのプロセス隔離の基盤として使われている機構です。&lt;/p&gt;
&lt;p&gt;今回のマージで実装されたのは &lt;code&gt;NtCreateJobObject&lt;/code&gt; / &lt;code&gt;NtOpenJobObject&lt;/code&gt; / &lt;code&gt;NtAssignProcessToJobObject&lt;/code&gt; / &lt;code&gt;NtIsProcessInJob&lt;/code&gt; / &lt;code&gt;NtTerminateJobObject&lt;/code&gt; / &lt;code&gt;NtQueryInformationJobObject&lt;/code&gt; / &lt;code&gt;NtSetInformationJobObject&lt;/code&gt; といった一連のシステムコールで、変更規模は8ファイル・追加2,245行・削除582行。中心は &lt;code&gt;ntoskrnl/ps/job.c&lt;/code&gt; です。効果は数字にも出ていて、Wine の kernel32 テストスイートで60件あった job 関連の失敗がゼロになりました。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;状態&lt;/th&gt;
					&lt;th&gt;job 関連テストの失敗件数&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;マージ前&lt;/td&gt;
					&lt;td&gt;60 件&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;マージ後&lt;/td&gt;
					&lt;td&gt;0 件&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;対象仕様は Windows 8 より前のもので、Windows 8 で導入されたネストしたジョブや、ジョブセット、UI 制限クラスの一部はまだ実装されていません。&lt;/p&gt;
&lt;p&gt;面白いのは、この機能がどれだけ長く懸案だったかです。最初の試みまで遡れば10年近く。途中で WIP の PR が引き継がれては Wine テストで結果が出ずに止まり、2024年6月に Gleb Surikov が PR #7500 として新たに設計をやり直しました。共通ロックで保護したイテレータの導入、プロセス割り当てのアトミックなトランザクション化、完了ポートのライフタイム管理といった同期まわりの作り直しを経て、複数の開発者によるレビューを通ってようやくマージされています。&lt;/p&gt;
&lt;p&gt;とはいえ、これで ReactOS 上でモダンなブラウザがそのまま動くわけではありません。Job Objects 以外にも必要な NT 6.x API は山ほどあります。&lt;a class="link" href="https://www.phoronix.com/news/ReactOS-Job-Objects" target="_blank" rel="noopener"
 &gt;Phoronix が伝えるとおりマージ自体は完了しました&lt;/a&gt;が、これは「入口に立てた」段階の一歩です。それでも、Windows のアプリケーションを Windows なしで動かそうというプロジェクトにとって、避けて通れない礎石が1つ据わったことになります。&lt;/p&gt;
&lt;h2 id="4-測定される前のポリシーを測る--linux-73-の-ima-改善"&gt;&lt;a href="#4-%e6%b8%ac%e5%ae%9a%e3%81%95%e3%82%8c%e3%82%8b%e5%89%8d%e3%81%ae%e3%83%9d%e3%83%aa%e3%82%b7%e3%83%bc%e3%82%92%e6%b8%ac%e3%82%8b--linux-73-%e3%81%ae-ima-%e6%94%b9%e5%96%84" class="header-anchor"&gt;&lt;/a&gt;4. 測定される前のポリシーを測る — Linux 7.3 の IMA 改善
&lt;/h2&gt;&lt;p&gt;Linux 7.3 のマージウィンドウで、IMA（Integrity Measurement Architecture）に2つの実務的な変更が入りました。どちらも v7.2 には含まれておらず、&lt;a class="link" href="https://www.paul-moore.com/blog/d/2026/08/linux_v73_merge_window.html" target="_blank" rel="noopener"
 &gt;Linux v7.2 のリリース（2026年8月16日）直後に開いたマージウィンドウ&lt;/a&gt;以降にマージされたものです。&lt;/p&gt;
&lt;p&gt;IMA は、カーネルがファイルやバッファのハッシュを計測し、その記録を TPM の PCR（Platform Configuration Register）へ積み上げていく仕組みです。外部の検証者は、この測定ログと TPM が署名した PCR の値（Quote）を突き合わせることで、「そのマシンで何が実行されたか」を遠隔から検証できます。クラウドや機密計算の文脈で使われるリモートアテステーションの土台です。&lt;/p&gt;
&lt;h3 id="受理される前のポリシーを測る"&gt;&lt;a href="#%e5%8f%97%e7%90%86%e3%81%95%e3%82%8c%e3%82%8b%e5%89%8d%e3%81%ae%e3%83%9d%e3%83%aa%e3%82%b7%e3%83%bc%e3%82%92%e6%b8%ac%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;受理される前のポリシーを測る
&lt;/h3&gt;&lt;p&gt;1つめは、&lt;a class="link" href="https://github.com/torvalds/linux/commit/f1e10b10874051e4d99911dae0dd7b75a9f8ae66" target="_blank" rel="noopener"
 &gt;ポリシーの生の書き込みをパース前に測定する変更&lt;/a&gt;です。&lt;/p&gt;
&lt;p&gt;署名付きポリシーが必須でない構成では、ユーザー空間から securityfs のポリシーファイルへ直接ルールを書き込めます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f78fe7"&gt;echo&lt;/span&gt; -e &lt;span style="color:#79a8ff"&gt;&amp;#34;measure func=BPRM_CHECK mask=MAY_EXEC\n&amp;#34;&lt;/span&gt; &lt;span style="color:#79a8ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;gt; /sys/kernel/security/ima/policy
&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;func=POLICY_CHECK&lt;/code&gt; はファイル経由で読み込まれた部分的なポリシーを測定していましたが、securityfs へ書き込まれた生のバッファはその対象外でした。7.3 の変更では、 &lt;strong&gt;そのポリシーが受理されるかどうかに関わらず、書き込まれたバッファをパース前に測定する&lt;/strong&gt; ようになりました。コミットメッセージはこれを「measure &amp;amp; load」パラダイムに沿ったものと説明しており、ポリシー処理のバグの露見と、IMA を壊しにいく試みの検出の両方を狙っています。測定は &lt;code&gt;measure func=POLICY_CHECK&lt;/code&gt; が有効なとき（&lt;code&gt;ima_policy=tcb&lt;/code&gt; など）に記録され、テンプレートは &lt;code&gt;ima-buf&lt;/code&gt; に強制されます。&lt;/p&gt;
&lt;p&gt;記録された値は次のように確認できます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;grep &lt;span style="color:#79a8ff"&gt;&amp;#34;ima_policy_written&amp;#34;&lt;/span&gt; &lt;span style="color:#79a8ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; /sys/kernel/security/integrity/ima/ascii_runtime_measurements | &lt;span style="color:#79a8ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; tail -1 | cut -d&lt;span style="color:#79a8ff"&gt;&amp;#39; &amp;#39;&lt;/span&gt; -f &lt;span style="color:#00bcff"&gt;6&lt;/span&gt; | xxd -r -p | sha256sum
&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;h3 id="tpm-が間に合わない環境への対応"&gt;&lt;a href="#tpm-%e3%81%8c%e9%96%93%e3%81%ab%e5%90%88%e3%82%8f%e3%81%aa%e3%81%84%e7%92%b0%e5%a2%83%e3%81%b8%e3%81%ae%e5%af%be%e5%bf%9c" class="header-anchor"&gt;&lt;/a&gt;TPM が間に合わない環境への対応
&lt;/h3&gt;&lt;p&gt;2つめは &lt;code&gt;IMA_INIT_LATE_SYNC&lt;/code&gt; &lt;a class="link" href="https://github.com/torvalds/linux/commit/1ebe7997b53b7ff956a089593723d8cb6faffdd6" target="_blank" rel="noopener"
 &gt;オプションの追加&lt;/a&gt;です。&lt;/p&gt;
&lt;p&gt;IMA が &lt;code&gt;boot_aggregate&lt;/code&gt; を TPM の PCR 値付きで記録するには、TPM ドライバが built-in で、しかも IMA の初期化より先にプローブされている必要があります。ところがコミットメッセージによれば、FF-A プロトコル上で CRB インターフェースを使う TPM では、前提となる &lt;code&gt;tpm_crb_ffa&lt;/code&gt; デバイスのプローブが済んでいないと &lt;code&gt;-EPROBE_DEFER&lt;/code&gt; が返ります。IMA の初期化は &lt;code&gt;late_initcall&lt;/code&gt; で走り、遅延プローブの処理も同じレベルなので、順序次第で TPM のプローブが IMA 初期化より後になってしまう。同様の状況は SPI バスに接続された TPM でも&lt;a class="link" href="https://lore.kernel.org/all/aYXEepLhUouN5f99@earth.li/" target="_blank" rel="noopener"
 &gt;報告されています&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;こうなると dmesg に次のメッセージが出て、IMA はハッシュの計測こそ続けるものの PCR への書き込みを行いません。ハードウェアには TPM が載っているのに、測定ログがソフトウェアから改ざん可能な状態になってしまいます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ima: No TPM chip found, activating TPM-bypass!
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;新オプションは、IMA の初期化を &lt;code&gt;late_initcall_sync&lt;/code&gt; まで遅らせることでこの順序問題を解消します。ただしトレードオフもあります。コミットメッセージには、このオプションを有効にした場合、initcall 中に &lt;code&gt;request_module()&lt;/code&gt; などのユーザーモードヘルパー経由で initramfs 上のファイルへアクセスするモジュールを built-in にしてはならない、と明記されています。そうしないと IMA がそれらのファイルの測定を取りこぼす可能性があるためです。&lt;/p&gt;
&lt;p&gt;手元の状況は次のコマンドで確認できます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a8a8a8"&gt;# TPM バイパスモードが発動していないか&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dmesg | grep -i &lt;span style="color:#79a8ff"&gt;&amp;#34;tpm-bypass&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a8a8a8"&gt;# IMA の測定ログ&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat /sys/kernel/security/ima/ascii_runtime_measurements | head -20
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a8a8a8"&gt;# 適用中の IMA ポリシー&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat /sys/kernel/security/ima/policy
&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;Linux 7.3 の最終リリースは2026年10月中旬から下旬の見込みです。&lt;/p&gt;
&lt;h2 id="5-rust-で書き直してくれたら採用する--firefox-157-が-jpeg-xl-をデフォルト有効化"&gt;&lt;a href="#5-rust-%e3%81%a7%e6%9b%b8%e3%81%8d%e7%9b%b4%e3%81%97%e3%81%a6%e3%81%8f%e3%82%8c%e3%81%9f%e3%82%89%e6%8e%a1%e7%94%a8%e3%81%99%e3%82%8b--firefox-157-%e3%81%8c-jpeg-xl-%e3%82%92%e3%83%87%e3%83%95%e3%82%a9%e3%83%ab%e3%83%88%e6%9c%89%e5%8a%b9%e5%8c%96" class="header-anchor"&gt;&lt;/a&gt;5. 「Rust で書き直してくれたら採用する」 — Firefox 157 が JPEG-XL をデフォルト有効化
&lt;/h2&gt;&lt;p&gt;Mozilla が2026年8月24日、&lt;a class="link" href="https://hacks.mozilla.org/2026/08/intent-to-ship-jpeg-xl/" target="_blank" rel="noopener"
 &gt;Firefox で JPEG-XL のデコードをデフォルト有効にする Intent to Ship を公開&lt;/a&gt;しました。対象は Windows・macOS・Linux・Android の全プラットフォームで、&lt;a class="link" href="https://www.mail-archive.com/dev-platform@mozilla.org/msg01866.html" target="_blank" rel="noopener"
 &gt;dev-platform メーリングリストの Intent to Ship 原文&lt;/a&gt;では対象バージョンが Firefox 157、制御用の設定が &lt;code&gt;image.jxl.enabled&lt;/code&gt;、追跡バグが Bug 2065096 であることが確認できます。&lt;/p&gt;
&lt;p&gt;JPEG XL は ISO/IEC 18181 として2022年に標準化された静止画フォーマットで、PNG を超えるロスレス圧縮、ダウンロードの15%時点で内容が判別できるプログレッシブレンダリング、既存 JPEG の無損失再圧縮（&lt;code&gt;cjxl --lossless_jpeg=1&lt;/code&gt; でファイルサイズが20〜25%減り、品質は落ちない）、16ビット色深度と広色域のネイティブ対応といった特性を持ちます。&lt;/p&gt;
&lt;h3 id="拒否したのは-mozilla条件を飲んだのは-google"&gt;&lt;a href="#%e6%8b%92%e5%90%a6%e3%81%97%e3%81%9f%e3%81%ae%e3%81%af-mozilla%e6%9d%a1%e4%bb%b6%e3%82%92%e9%a3%b2%e3%82%93%e3%81%a0%e3%81%ae%e3%81%af-google" class="header-anchor"&gt;&lt;/a&gt;拒否したのは Mozilla、条件を飲んだのは Google
&lt;/h3&gt;&lt;p&gt;今回の発表で語り継がれそうなのは、そこに至る経緯のほうです。&lt;/p&gt;
&lt;p&gt;C++ の参照実装 libjxl は、約10万行のマルチスレッド C++ コードです。Mozilla はこれを Firefox に組み込むことについて、 &lt;strong&gt;その規模のコードが追加する攻撃面（attack surface）を懸念していた&lt;/strong&gt; と公式ブログで述べています。そして Google Research に対して、Rust で書き直せば採用すると条件を提示しました。Google がそれに応じて開発したのが &lt;code&gt;jxl-rs&lt;/code&gt;（&lt;a class="link" href="https://github.com/libjxl/jxl-rs" target="_blank" rel="noopener"
 &gt;リポジトリ&lt;/a&gt;）です。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;jxl-rs&lt;/code&gt; は大部分が safe Rust で書かれており、SIMD 演算など性能上どうしても必要な箇所にだけ unsafe を使い、そこには Unsafe Rust の専門家による著者以外のレビューを必須とする方針が敷かれています。性能面では C++ 参照実装と同等かそれ以上で、プログレッシブレンダリングの対応は強化され、メモリ消費はむしろ減っているとされています。&lt;/p&gt;
&lt;p&gt;結果として、Chromium もこの &lt;code&gt;jxl-rs&lt;/code&gt; を統合しました。Chrome と Firefox という競合するブラウザが同じ Rust クレートを画像デコーダとして共有する、なかなか珍しい状態です。&lt;/p&gt;
&lt;h3 id="一度捨てられたフォーマットの帰り道"&gt;&lt;a href="#%e4%b8%80%e5%ba%a6%e6%8d%a8%e3%81%a6%e3%82%89%e3%82%8c%e3%81%9f%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%83%e3%83%88%e3%81%ae%e5%b8%b0%e3%82%8a%e9%81%93" class="header-anchor"&gt;&lt;/a&gt;一度捨てられたフォーマットの帰り道
&lt;/h3&gt;&lt;p&gt;JPEG XL の道のりは平坦ではありませんでした。2022年、Google は「エコシステム全体の関心不足」「既存フォーマットに対する十分な優位性がない」ことを理由に、Chrome の実験的な JXL サポートを削除します。ところが Chromium のバグトラッカーには Intel、Adobe、Cloudinary、Facebook、The Guardian、Shopify といった企業から反発が集まり、&lt;a class="link" href="https://www.theregister.com/software/2026/01/14/google-rekindles-relationship-with-jilted-jpeg-xl/4816480" target="_blank" rel="noopener"
 &gt;500件を超えるコメントが殺到しました&lt;/a&gt;。Intel の Roland Wooster も、ウェブ向けの圧縮性能と16ビット色深度、そして写真家が使うカラーガモットへの対応を挙げて JPEG XL を擁護するコメントを寄せています。&lt;/p&gt;
&lt;p&gt;その後、2023年に Apple が WebKit へ実装（Safari 17.0 に搭載）、2025年に Microsoft が Windows 11 へ対応を追加、そして2026年に Chromium が &lt;code&gt;jxl-rs&lt;/code&gt; の統合を完了。Firefox 157 の対応で、主要ブラウザが揃って JXL をデフォルトで扱う体制が整うことになります。&lt;/p&gt;
&lt;p&gt;もっとも、万能というわけでもありません。dev-platform のメーリングリスト上の議論では、ロスレス用途の JXL がロスレス WebP に比べて大幅に遅い割にファイルサイズの削減幅は小さい、という指摘も出ており、主用途はロッシー圧縮と想定されています。&lt;/p&gt;
&lt;h3 id="いま試すには"&gt;&lt;a href="#%e3%81%84%e3%81%be%e8%a9%a6%e3%81%99%e3%81%ab%e3%81%af" class="header-anchor"&gt;&lt;/a&gt;いま試すには
&lt;/h3&gt;&lt;p&gt;Firefox 157 を待たずに試すこともできます。現行の Firefox（152〜156）では、設定を1つオンにすれば使えます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 方法1: Firefox Labs
about:preferences →「Firefox Labs」セクション →「JPEG XL」を有効化

# 方法2: about:config
about:config → image.jxl.enabled を true にして再起動
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Web 側から段階的に配信するなら、&lt;code&gt;&amp;lt;picture&amp;gt;&lt;/code&gt; でのフォールバックが素直です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;picture&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;source srcset&lt;span style="color:#00d3d0"&gt;=&lt;/span&gt;&lt;span style="color:#79a8ff"&gt;&amp;#34;image.jxl&amp;#34;&lt;/span&gt; type&lt;span style="color:#00d3d0"&gt;=&lt;/span&gt;&lt;span style="color:#79a8ff"&gt;&amp;#34;image/jxl&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;source srcset&lt;span style="color:#00d3d0"&gt;=&lt;/span&gt;&lt;span style="color:#79a8ff"&gt;&amp;#34;image.avif&amp;#34;&lt;/span&gt; type&lt;span style="color:#00d3d0"&gt;=&lt;/span&gt;&lt;span style="color:#79a8ff"&gt;&amp;#34;image/avif&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;img src&lt;span style="color:#00d3d0"&gt;=&lt;/span&gt;&lt;span style="color:#79a8ff"&gt;&amp;#34;image.jpg&amp;#34;&lt;/span&gt; alt&lt;span style="color:#00d3d0"&gt;=&lt;/span&gt;&lt;span style="color:#79a8ff"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/picture&amp;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;h2 id="まとめ"&gt;&lt;a href="#%e3%81%be%e3%81%a8%e3%82%81" class="header-anchor"&gt;&lt;/a&gt;まとめ
&lt;/h2&gt;&lt;p&gt;今日の5本に共通していたのは、「やろうと思えばできたはずの小さな一手」が、実際にはずいぶん長く放置されていたという構図でした。&lt;/p&gt;
&lt;p&gt;Oracle の脆弱性は7か月前にパッチが出ていました。ath11k は mac80211 に対して機能フラグを宣言するだけでよかった。ReactOS の Job Objects は、最初の試みから数えれば10年近く懸案のままでした。IMA は、書き込まれたポリシーをパース前に測るだけで「証拠の選び方」まで記録できた。JPEG XL は、書き直しを引き受ける人がいれば主要ブラウザに載る道が残っていました。&lt;/p&gt;
&lt;p&gt;そして、それらが動き出したきっかけも小さなものです。CISA が期限を切ったこと。レビュアーがキューの詰まりを疑ったこと。ひとりの開発者が設計をやり直したこと。Mozilla が条件を下ろさなかったこと。&lt;/p&gt;
&lt;p&gt;手元のシステムにも、たぶん同じような「あとでやる」が眠っています。まずは &lt;code&gt;dmesg | grep -i tpm-bypass&lt;/code&gt; と、Oracle HTTP Server の在庫確認あたりから始めてみてはいかがでしょうか。&lt;/p&gt;
&lt;h2 id="参考リンク"&gt;&lt;a href="#%e5%8f%82%e8%80%83%e3%83%aa%e3%83%b3%e3%82%af" class="header-anchor"&gt;&lt;/a&gt;参考リンク
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://nvd.nist.gov/vuln/detail/CVE-2026-21962" target="_blank" rel="noopener"
 &gt;CVE-2026-21962 - NVD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.cisa.gov/news-events/alerts/2026/08/24/cisa-adds-one-known-exploited-vulnerability-catalog" target="_blank" rel="noopener"
 &gt;CISA KEV 追加アラート（2026-08-24）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://marc.info/?l=linux-wireless&amp;amp;m=178758146703148&amp;amp;w=2" target="_blank" rel="noopener"
 &gt;ath11k AQL パッチシリーズ v3 カバーレター（linux-wireless）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/reactos/reactos/pull/7500" target="_blank" rel="noopener"
 &gt;ReactOS PR #7500 - Basic support for jobs in the kernel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/torvalds/linux/commit/f1e10b10874051e4d99911dae0dd7b75a9f8ae66" target="_blank" rel="noopener"
 &gt;ima: measure userspace policy writes before parsing（カーネルコミット）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/torvalds/linux/commit/1ebe7997b53b7ff956a089593723d8cb6faffdd6" target="_blank" rel="noopener"
 &gt;security: ima: introduce IMA_INIT_LATE_SYNC option（カーネルコミット）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://hacks.mozilla.org/2026/08/intent-to-ship-jpeg-xl/" target="_blank" rel="noopener"
 &gt;Intent to Ship: JPEG-XL（Mozilla Hacks）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>