
Outil Java hors ligne qui analyse les jars et les versions pour déterminer l'exposition à sept CVE de netty-codec-http2, recommandant la version corrigée unique qui résout toutes les vulnérabilités.
Vérificateur hors ligne pour les 7 CVE de io.netty:netty-codec-http2.
Vous indique celles auxquelles vous êtes réellement exposé — et la version unique qui corrige toutes :
4.1.136.Final / 4.2.16.Final, un numéro qui n'apparaît sur aucun des sept avis.
CVE-2025-55163 · CVE-2026-33871 · CVE-2026-47244 · CVE-2026-48043 · CVE-2026-50560 · CVE-2026-56819 · CVE-2026-59900
Jar unique, zéro dépendance à l'exécution, entièrement hors ligne, Java 17+.
Les sept avis nomment chacun une version de correctif différente. Sur la ligne 4.1, ce sont 124 / 132 / 135 / 135 / 135 / 136 / 136. Suivez un seul avis et vous restez dans la plage affectée des autres. La version qui couvre les sept doit être calculée — et elle n'est écrite sur aucun d'entre eux.
Il en va de même, avec des numéros entièrement différents, sur la ligne 4.2 (4 / 11 / 15 / 15 / 15 / 16 / 16).
Ceux qui sont sur 4.2.15.Final ont corrigé cinq des sept et supposent souvent être « sur la nouvelle ligne ».
pom.xml — volontairementSi vous utilisez Spring WebFlux, netty-codec-http2 arrive via
spring-boot-starter-webflux
-> spring-boot-starter-reactor-netty
-> reactor-netty-http
-> netty-codec-http2
L'artifactId n'apparaît jamais dans votre pom.xml. Une vérification basée sur le pom répond « je ne l'utilise pas »,
ce qui est faux. Cet outil lit les jars réellement livrés.
java -jar netty-http2-check.jar target/ # analyse la sortie de build
java -jar netty-http2-check.jar myapp.jar # fat-jar / war Spring Boot, jars imbriqués inclus
java -jar netty-http2-check.jar --version 4.1.100.Final # évalue directement une version
java -jar netty-http2-check.jar --table # affiche le tableau complet des règles
--utf8 / --gbk si la sortie est illisible sur une console Windows.
Exemple :
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. Seules CVE-2025-55163, CVE-2026-33871 et
CVE-2026-56819 sont classées high. L'outil affiche chaque sévérité séparément, et vous devriez faire de même.grpc-netty-shaded est détecté, mais seule CVE-2025-55163 liste cette coordonnée.
« L'avis ne la liste pas » n'est pas « elle n'est pas affectée ».CVE-2026-33871 sur la ligne 4.2 : la plage affectée est < 4.2.10.Final, mais le correctif indiqué est
4.2.11.Final. 4.2.10 se situe entre les deux — hors de la plage, en dessous du correctif. L'outil
le signale explicitement au lieu de le laisser tomber dans la branche par défaut, qui est « sûr ».
tools/gen_rules.py construit RuleTable.java directement à partir des avis GitHub et refuse de
générer quoi que ce soit à moins que cinq assertions ne soient vérifiées — y compris que l'intersection calculée soit bien
4.1.136.Final / 4.2.16.Final, et que celles-ci existent sur Maven Central tandis qu'une version sentinelle renvoie une 404.
tools/recheck_before_publish.py re-vérifie les affirmations porteuses via des sources délibérément
indépendantes : NVD (pas OSV — ses données Maven reflètent GHSA), Maven Central, et le bytecode des vrais
jars. La vérification du bytecode est bidirectionnelle : le marqueur de correctif doit être présent dans 4.1.136 et
absent dans 4.1.135. Cette seconde moitié a détecté une mauvaise vérification lors du premier passage.
mvn package # target/netty-http2-check-0.1.0.jar
mvn test # 23 tests
MIT