7件の io.netty:netty-codec-http2 CVEに対するオフラインチェッカー。
実際に影響を受けるものを特定し、すべてを修正する単一バージョンを示します:
4.1.136.Final / 4.2.16.Final — これは7件のアドバイザリのいずれにも記載されていない番号です。
CVE-2025-55163 · CVE-2026-33871 · CVE-2026-47244 · CVE-2026-48043 · CVE-2026-50560 · CVE-2026-56819 · CVE-2026-59900
単一JAR、ランタイム依存関係ゼロ、完全オフライン、Java 17+。
7件のアドバイザリはそれぞれ異なる修正バージョンを指定しています。4.1系では 124 / 132 / 135 / 135 / 135 / 136 / 136 です。単一のアドバイザリに従うだけでは、他のCVEの影響範囲内に留まります。7件すべてをクリアするバージョンは計算する必要があります — そしてそれはどのアドバイザリにも記載されていません。
4.2系でも同様で、数値はまったく異なります(4 / 11 / 15 / 15 / 15 / 16 / 16)。
4.2.15.Final を使用している人は7件中5件を修正済みで、「新しい系にいる」と思い込むことがよくあります。
pom.xml をスキャンしませんSpring WebFluxを使用する場合、netty-codec-http2 は以下の経路で導入されます:
spring-boot-starter-webflux
-> spring-boot-starter-reactor-netty
-> reactor-netty-http
-> netty-codec-http2
artifactIdは pom.xml に一切出現しません。 pomベースのチェックは「使用していない」と回答しますが、それは誤りです。このツールは実際に配布されるJARを読み取ります。
java -jar netty-http2-check.jar target/ # ビルド出力をスキャン
java -jar netty-http2-check.jar myapp.jar # Spring Boot fat-jar / war、ネストされたJARを含む
java -jar netty-http2-check.jar --version 4.1.100.Final # バージョンを直接判定
java -jar netty-http2-check.jar --table # 完全なルール表を表示
Windowsコンソールで出力が文字化けする場合は --utf8 / --gbk を使用します。
例:
netty-codec-http2 4.1.135.Final
evidence: META-INF/io.netty.versions.properties
中了 2 条:
CVE-2026-56819 high CVSS 7.5 解压泄漏 -> OOM
CVE-2026-59900 medium 官方未给分 Host 头与 :authority 去重缺失 -> 路由绕过
-> 一次修完这几条,升到:4.1.136.Final
medium。 high と評価されているのは CVE-2025-55163、CVE-2026-33871、CVE-2026-56819 のみです。このツールは各深刻度を個別に出力します。あなたもそうすべきです。grpc-netty-shaded は検出されますが、そのコーディネートを記載しているのは CVE-2025-55163 のみです。「アドバイザリに記載がない」ことは「影響を受けない」ことではありません。4.2系の CVE-2026-33871: 影響範囲は < 4.2.10.Final ですが、記載された修正は
4.2.11.Final です。4.2.10 はその間に位置します — 範囲外であり、修正未満です。このツールはこれをデフォルトの「安全」ブランチに落とすのではなく、明示的に報告します。
tools/gen_rules.py はGitHubアドバイザリから直接 RuleTable.java を構築し、5つのアサーションが成立しない限り何も出力しません — 計算された共通部分が本当に 4.1.136.Final / 4.2.16.Final であること、それらがMaven Centralに存在する一方でセンチネルバージョンが404を返すことなどが含まれます。
tools/recheck_before_publish.py は、意図的に無関係なソース を通じて重要な主張を再検証します: NVD(OSVではなく — そのMavenデータはGHSAを反映)、Maven Central、そして実際のJARのバイトコード。バイトコードチェックは双方向です: 修正マーカーが 4.1.136 に存在し、4.1.135 には存在しない必要があります。この後半部分が初回実行時に不正なチェックを検出しました。
mvn package # target/netty-http2-check-0.1.0.jar
mvn test # 23 tests
MIT