
CVE-2026-24880: il consiglio di aggiornamento di Apache si applica davvero al tuo Tomcat? Rileva la correzione tramite la presenza delle classi, non tramite il confronto delle versioni. Copre le linee 7.0/8.0/8.5/9.0/10.0/10.1/11.0.
CVE-2026-24880 · GHSA-563x-q5rq-57qp — la frase di Apache
upgrade to version 11.0.20, 10.1.52 or 9.0.116 vale per te?
Per la maggior parte delle persone no, e ci sono quattro modi diversi in cui non vale. Questo strumento analizza i tuoi artefatti e ti dice quale dei quattro si applica.
java -jar tomcat-line-check.jar /path/to/tomcat # Tomcat distribuito estratto
java -jar tomcat-line-check.jar app.war # war
java -jar tomcat-line-check.jar app.jar # fat jar Spring Boot
java -jar tomcat-line-check.jar --table # solo la tabella di giudizio delle sette linee
java -jar tomcat-line-check.jar --utf8 ... # da aggiungere se la console Windows mostra caratteri cinesi corrotti
unzip -l tomcat-coyote-<ver>.jar | grep ChunkExtension
Se c'è org/apache/tomcat/util/http/parser/ChunkExtension.class = patch inclusa; se non c'è = patch mancante.
🔴 Questo strumento non confronta i numeri di versione per stabilire se la patch c'è — perché il discorso sui numeri di versione è proprio il punto in cui questa CVE genera errori.
La tabella di giudizio è generata da tools/gen_table.py a partire da fonti primarie; se una delle sette asserzioni fallisce, la tabella non viene emessa.
| Linea | Versione finale | EOL | Patch presente | Esito |
|---|---|---|---|---|
| 7.0 | 7.0.109 | 2021-03-31 | No | ❌ 7.0.110 = 404 |
| 8.0 | 8.0.53 | 2018-06-30 | No | ❌ 8.0.54 = 404 |
| 8.5 | 8.5.100 | 2024-03-31 | No | ❌ 8.5.101 = 404 |
| 10.0 | 10.0.27 | 2022-10-31 | No | ❌ 10.0.28 = 404 |
| 9.0 | 9.0.121 | 2027-03-31 | 9.0.115 no | ✅ 9.0.116 |
| 10.1 | 10.1.59 | Non EOL | 10.1.52 no | ✅ 10.1.53 |
| 11.0 | 11.0.25 | Non EOL | 11.0.18 no | ✅ 11.0.20 |
① Sei sulla linea 8.5 / 7.0 / 8.0 — nessuna delle tre versioni indicate da Apache appartiene alla tua linea,
e la tua linea ha smesso di ricevere release (8.5.101 / 7.0.110 / 8.0.54 sono tutti 404 su Maven Central).
8.0 è un caso particolare: Apache la classifica come unknown, senza nemmeno rispondere se sei vulnerabile o no.
② Sei sulla linea 10.1 — Apache ti dice di aggiornare a 10.1.52, ma 10.1.52 stesso non ha la patch.
Il paragrafo precedente dello stesso annuncio elenca 10.1.0-M1 through 10.1.52 come affette.
La security-10.html di Apache
classifica questa CVE nella sezione 10.1.53; e compare 10.1.52...10.1.53 contiene effettivamente il commit di fix f07df938.
→ Seguire quella frase equivale a non aggiornare.
③ Sei sulla linea 10.0 — nell'annuncio ufficiale 10.0. compare 0 volte.
Non è né nell'elenco delle versioni affette, né nelle due voci unknown; anche i due intervalli dell'advisory GitHub
(>= 7.0.0, < 9.0.116 e >= 10.1.0-M1, < 10.1.52) non la coprono.
E i membri di ChunkedInputFilter di 10.0.27 sono identici parola per parola a quelli di 7.0.109 / 8.5.100, mentre 10.0.28 è 404.
→ Nessuna fonte ha mai risposto se 10.0 è vulnerabile.
④ Usi Dependabot / OSV — l'advisory GitHub comprime 7.0/8.5/9.0 in un unico intervallo,
con first_patched_version = 9.0.116, quindi la macchina dirà agli utenti 8.5 di aggiornare a 9.0.116.
Quella è un'altra linea di versione maggiore, non un aggiornamento di patch.
low(l'advisory GitHub la marca high / CVSS 7.5).
Entrambi i valori sono elencati qui, senza scegliere quello più favorevole.1b586d6(9.0)· f07df938(10.1)· fde1a82(11.0)python tools/gen_table.py --dry # esegue solo le asserzioni, non scrive file
python tools/gen_table.py # scrive LineTable.java solo se tutte le asserzioni passano
Le asserzioni coprono: positivi (9.0.116 / 10.1.53 / 11.0.20 devono avere la classe di fix), negativi (9.0.115 / 10.1.52 non devono averla), l'affermazione centrale (la raccomandazione ufficiale cita proprio 10.1.52), le linee EOL, l'assenza di esito (la versione successiva alla finale deve essere 404), il sentinella (una versione inesistente deve dare 404, a prova che il criterio 404 funziona), e l'assenza di 10.0.
mvn package # richiede JDK 17; zero dipendenze a runtime
Apache-2.0