
CVE-2026-24880: a recomendação de atualização do Apache realmente se aplica ao seu Tomcat? Detecta a correção pela presença de classes, não pela comparação de versões. Abrange as linhas 7.0/8.0/8.5/9.0/10.0/10.1/11.0.
CVE-2026-24880 · GHSA-563x-q5rq-57qp —— A frase do Apache
upgrade to version 11.0.20, 10.1.52 or 9.0.116 se aplica a você?
Para a maioria das pessoas, não — e há quatro maneiras diferentes de não se aplicar. Esta ferramenta verifica seus artefatos e informa qual é o seu caso.
java -jar tomcat-line-check.jar /path/to/tomcat # Tomcat implantado descompactado
java -jar tomcat-line-check.jar app.war # war
java -jar tomcat-line-check.jar app.jar # Spring Boot fat jar
java -jar tomcat-line-check.jar --table # ver apenas a tabela de verificação das sete linhas
java -jar tomcat-line-check.jar --utf8 ... # adicione se houver caracteres chineses ilegíveis no console do Windows
unzip -l tomcat-coyote-<ver>.jar | grep ChunkExtension
Ter org/apache/tomcat/util/http/parser/ChunkExtension.class = correção aplicada; não ter = correção ausente.
🔴 Esta ferramenta não compara números de versão para determinar se a correção foi aplicada — porque a própria questão do número de versão é onde esta CVE dá margem a erro.
A tabela de verificação é gerada por tools/gen_table.py a partir de fontes primárias; se alguma das sete asserções falhar, a tabela não é emitida.
| Linha | Versão final | EOL | Correção presente | Saída |
|---|---|---|---|---|
| 7.0 | 7.0.109 | 2021-03-31 | Não | ❌ 7.0.110 = 404 |
| 8.0 | 8.0.53 | 2018-06-30 | Não | ❌ 8.0.54 = 404 |
| 8.5 | 8.5.100 | 2024-03-31 | Não | ❌ 8.5.101 = 404 |
| 10.0 | 10.0.27 | 2022-10-31 | Não | ❌ 10.0.28 = 404 |
| 9.0 | 9.0.121 | 2027-03-31 | 9.0.115 sem | ✅ 9.0.116 |
| 10.1 | 10.1.59 | Sem EOL | 10.1.52 sem | ✅ 10.1.53 |
| 11.0 | 11.0.25 | Sem EOL | 11.0.18 sem | ✅ 11.0.20 |
① Você está na linha 8.5 / 7.0 / 8.0 — nenhuma das três versões fornecidas oficialmente está na sua linha,
e sua linha já foi descontinuada (8.5.101 / 7.0.110 / 8.0.54 retornam 404 no Maven Central).
A 8.0 é especial: a Apache a marcou como unknown, sem sequer responder se você foi afetado ou não.
② Você está na linha 10.1 — a Apache manda você atualizar para 10.1.52, mas o próprio 10.1.52 não tem a correção.
O parágrafo anterior do mesmo aviso lista 10.1.0-M1 through 10.1.52 como afetados.
O próprio security-10.html da Apache
classifica esta CVE na seção 10.1.53; e compare 10.1.52...10.1.53 de fato contém o commit de correção f07df938.
→ Seguir essa frase é o mesmo que não atualizar.
③ Você está na linha 10.0 — 10.0. aparece 0 vezes no aviso oficial.
Não está na lista de afetados, nem nos dois unknown; os dois intervalos do advisory do GitHub
(>= 7.0.0, < 9.0.116 e >= 10.1.0-M1, < 10.1.52) também não o cobrem.
E os membros de ChunkedInputFilter do 10.0.27 são idênticos, palavra por palavra, aos do 7.0.109 / 8.5.100, e 10.0.28 é 404.
→ Nenhuma fonte respondeu se a 10.0 foi afetada.
④ Você usa Dependabot / OSV — o advisory do GitHub comprime 7.0/8.5/9.0 em um único intervalo,
first_patched_version = 9.0.116, então a máquina manda usuários da 8.5 atualizarem para 9.0.116.
Essa é outra linha de versão principal, não um patch.
low (o advisory do GitHub marca high / CVSS 7.5).
Os dois números estão listados aqui; não escolhemos o que nos favorece.1b586d6(9.0)· f07df938(10.1)· fde1a82(11.0)python tools/gen_table.py --dry # apenas executa as asserções, sem gravar arquivo
python tools/gen_table.py # só grava LineTable.java se todas as asserções passarem
As asserções cobrem: positivos (9.0.116 / 10.1.53 / 11.0.20 devem ter a classe de correção), negativos (9.0.115 / 10.1.52 não devem ter), a afirmação central (o que a recomendação oficial escreve é exatamente 10.1.52), linhas EOL, sem saída (a versão seguinte à final deve ser 404), sentinela (uma versão inexistente deve ser 404, provando que o critério de 404 não está quebrado) e a ausência da 10.0.
mvn package # requer JDK 17; zero dependências em tempo de execução
Apache-2.0