
Ferramenta Java offline que analisa jars e versões para determinar a exposição a sete CVEs do netty-codec-http2, recomendando a única versão corrigida que resolve todas.
Verificador offline para as 7 CVEs do io.netty:netty-codec-http2.
Informa a quais delas você está realmente exposto — e a versão única que corrige todas:
4.1.136.Final / 4.2.16.Final, um número que não aparece em nenhum dos sete avisos.
CVE-2025-55163 · CVE-2026-33871 · CVE-2026-47244 · CVE-2026-48043 · CVE-2026-50560 · CVE-2026-56819 · CVE-2026-59900
Jar único, zero dependências em tempo de execução, totalmente offline, Java 17+.
Os sete avisos indicam cada um uma versão de correção diferente. Na linha 4.1, elas são 124 / 132 / 135 / 135 / 135 / 136 / 136. Siga qualquer aviso individual e você ainda estará dentro do intervalo afetado dos demais. A versão que elimina todas as sete precisa ser calculada — e não está escrita em nenhuma delas.
O mesmo vale, com números totalmente diferentes, na linha 4.2 (4 / 11 / 15 / 15 / 15 / 16 / 16).
Quem está em 4.2.15.Final corrigiu cinco das sete e muitas vezes assume que está "na nova linha".
pom.xml — de propósitoSe você usa Spring WebFlux, o netty-codec-http2 chega por meio de
spring-boot-starter-webflux
-> spring-boot-starter-reactor-netty
-> reactor-netty-http
-> netty-codec-http2
O artifactId nunca aparece no seu pom.xml. Uma verificação baseada no pom responde "não uso",
o que está errado. Esta ferramenta lê os jars que realmente são enviados.
java -jar netty-http2-check.jar target/ # verifica a saída do build
java -jar netty-http2-check.jar myapp.jar # fat-jar / war do Spring Boot, jars aninhados incluídos
java -jar netty-http2-check.jar --version 4.1.100.Final # julga uma versão diretamente
java -jar netty-http2-check.jar --table # imprime a tabela completa de regras
--utf8 / --gbk se a saída aparecer ilegível em um console Windows.
Exemplo:
netty-codec-http2 4.1.135.Final
evidência: 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. Apenas CVE-2025-55163, CVE-2026-33871 e
CVE-2026-56819 são classificadas como high. A ferramenta imprime cada severidade separadamente — e você também deveria.grpc-netty-shaded é detectado, mas apenas CVE-2025-55163 lista essa coordenada.
"O aviso não a lista" não significa "não está afetado".CVE-2026-33871 na linha 4.2: o intervalo afetado é < 4.2.10.Final, mas a correção declarada é
4.2.11.Final. 4.2.10 fica entre eles — fora do intervalo, abaixo da correção. A ferramenta
reporta isso explicitamente em vez de deixar cair no ramo padrão, que é "seguro".
tools/gen_rules.py constrói o RuleTable.java diretamente dos avisos do GitHub e se recusa a
emitir qualquer coisa a menos que cinco asserções sejam válidas — incluindo que a interseção calculada
realmente seja 4.1.136.Final / 4.2.16.Final, e que essas existam no Maven Central enquanto uma versão sentinela retorna 404.
tools/recheck_before_publish.py reverifica as afirmações estruturais por meio de fontes
deliberadamente não relacionadas: NVD (não OSV — seus dados Maven espelham o GHSA), Maven Central e o bytecode
dos jars reais. A verificação de bytecode é bidirecional: o marcador de correção deve estar presente em 4.1.136 e
ausente em 4.1.135. Essa segunda metade pegou uma verificação ruim na primeira execução.
mvn package # target/netty-http2-check-0.1.0.jar
mvn test # 23 testes
MIT