
CVE-2026-24880: Gilt Apaches Upgrade-Empfehlung tatsächlich für Ihr Tomcat? Erkennt den Fix anhand der Klassenpräsenz, nicht durch Versionsvergleich. Deckt die Linien 7.0/8.0/8.5/9.0/10.0/10.1/11.0 ab.
CVE-2026-24880 · GHSA-563x-q5rq-57qp — Gilt der Apache-Satz
upgrade to version 11.0.20, 10.1.52 or 9.0.116 für dich?
Für die meisten gilt er nicht — und zwar auf vier verschiedene Arten. Dieses Tool scannt deine Artefakte und sagt dir, welche davon zutrifft.
java -jar tomcat-line-check.jar /path/to/tomcat # Entpackte Tomcat-Installation
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 # Nur die Entscheidungstabelle der sieben Linien
java -jar tomcat-line-check.jar --utf8 ... # Bei chinesischen Zeichenproblemen in der Windows-Konsole
unzip -l tomcat-coyote-<ver>.jar | grep ChunkExtension
Vorhanden: org/apache/tomcat/util/http/parser/ChunkExtension.class = Fix enthalten; nicht vorhanden = Fix fehlt.
🔴 Dieses Tool vergleicht keine Versionsnummern, um zu prüfen, ob der Fix enthalten ist — denn genau die Versionsnummer-Angabe ist der Punkt, an dem diese CVE irreführt.
Die Entscheidungstabelle wird von tools/gen_table.py aus Primärquellen generiert; wenn die sieben Assertions nicht bestehen, wird die Tabelle verweigert.
| Linie | Letzte Version | EOL | Fix enthalten | Ausgang |
|---|---|---|---|---|
| 7.0 | 7.0.109 | 2021-03-31 | Nein | ❌ 7.0.110 = 404 |
| 8.0 | 8.0.53 | 2018-06-30 | Nein | ❌ 8.0.54 = 404 |
| 8.5 | 8.5.100 | 2024-03-31 | Nein | ❌ 8.5.101 = 404 |
| 10.0 | 10.0.27 | 2022-10-31 | Nein | ❌ 10.0.28 = 404 |
| 9.0 | 9.0.121 | 2027-03-31 | 9.0.115 nein | ✅ 9.0.116 |
| 10.1 | 10.1.59 | Nicht EOL | 10.1.52 nein | ✅ 10.1.53 |
| 11.0 | 11.0.25 | Nicht EOL | 11.0.18 nein | ✅ 11.0.20 |
① Du bist auf der 8.5 / 7.0 / 8.0-Linie — Keine der drei offiziell genannten Versionen liegt auf deiner Linie,
und deine Linie wird nicht mehr veröffentlicht (8.5.101 / 7.0.110 / 8.0.54 sind auf Maven Central alle 404).
8.0 ist besonders: Offiziell wird sie als unknown markiert — es wird nicht einmal beantwortet, ob du betroffen bist.
② Du bist auf der 10.1-Linie — Offiziell sollst du auf 10.1.52 upgraden, aber 10.1.52 selbst hat den Fix nicht.
Im vorherigen Absatz derselben Ankündigung wird 10.1.0-M1 through 10.1.52 als betroffen aufgeführt.
Apaches eigene security-10.html
ordnet diese CVE dem Abschnitt 10.1.53 zu; compare 10.1.52...10.1.53 enthält tatsächlich den Fix-Commit f07df938.
→ Dem Satz zu folgen bedeutet, kein Upgrade durchzuführen.
③ Du bist auf der 10.0-Linie — In der offiziellen Ankündigung kommt 10.0. 0-mal vor.
Weder in der betroffenen Liste noch in den beiden unknown-Einträgen; auch die beiden Bereiche der GitHub-Advisory
(>= 7.0.0, < 9.0.116 und >= 10.1.0-M1, < 10.1.52) decken sie nicht ab.
Doch die ChunkedInputFilter-Mitglieder von 10.0.27 sind wortgleich mit denen von 7.0.109 / 8.5.100, und 10.0.28 ist 404.
→ Keine Quelle hat jemals beantwortet, ob 10.0 betroffen ist.
④ Du nutzt Dependabot / OSV — Die GitHub-Advisory fasst 7.0/8.5/9.0 zu einem Bereich zusammen,
first_patched_version = 9.0.116, wodurch die Maschine 8.5-Nutzern ein Upgrade auf 9.0.116 empfiehlt.
Das ist eine andere Hauptversionslinie, kein Patch.
low (die GitHub-Advisory markiert high / CVSS 7.5).
Beide Zahlen sind hier aufgeführt; es wird nicht die für einen selbst günstigere ausgewählt.1b586d6(9.0)· f07df938(10.1)· fde1a82(11.0)python tools/gen_table.py --dry # Nur Assertions ausführen, keine Datei schreiben
python tools/gen_table.py # LineTable.java nur schreiben, wenn alle Assertions bestehen
Die Assertions umfassen: Positivfälle (9.0.116 / 10.1.53 / 11.0.20 müssen die Fix-Klasse enthalten), Negativfälle (9.0.115 / 10.1.52 dürfen sie nicht enthalten), Kernaussage (die offizielle Empfehlung nennt tatsächlich 10.1.52), EOL-Linien, kein Ausgang (die nächste Version nach der letzten muss 404 sein), Sentinel (eine nicht existierende Version muss 404 sein, um zu beweisen, dass das 404-Kriterium selbst nicht defekt ist), Abwesenheit von 10.0.
mvn package # Benötigt JDK 17; zur Laufzeit null Abhängigkeiten
Apache-2.0