
CVE-2026-2332 и ещё 4 CVE в Jetty 2026 года: какие из них затрагивают вашу сборку Jetty (или Spring Boot), и существует ли вообще на Maven Central та исправленная версия, которую называет Jetty? Для EOL-линий 9.4/10/11 ответ — «см. подробности о доступности» = 404.
Какие из шести CVE 2026 года затрагивают ваш Jetty (или Jetty, притянутый Spring Boot) — и существует ли вообще на Maven Central та версия, которую официально рекомендуют обновить?
В центре внимания — CVE-2026-2332 (GHSA-355h-qmc2-wpwf, high / CVSS v3 7.4): контрабанда chunked-запросов в jetty-http.
2026-09-17 официально выпущен CVE-2026-19203 из того же семейства (контрабанда LF EXT.TERM, high / CVSS v4 8.3): его ветка 9.4 покрывает версии вплоть до 9.4.63,
официально рекомендуется обновиться до 9.4.64 — а 9.4.64 на Central также 404.
Самый жёсткий факт: публичных исправленных версий для трёх старых EOL-веток 9.4 / 10 / 11 попросту не существует — официальная страница безопасности по каждой из них пишет
see details for availability (= коммерческая поддержка), а все эти номера версий на Maven Central по факту дают 404.
java -jar jetty-line-check.jar /path/to/jetty # 解压部署的 Jetty(扫 lib/*.jar)
java -jar jetty-line-check.jar app.war # war
java -jar jetty-line-check.jar app.jar # Spring Boot fat jar
java -jar jetty-line-check.jar --table # 只看六条 CVE × 模块 × 版本线的判定表
java -jar jetty-line-check.jar --utf8 ... # Windows 控制台中文乱码时加
Критерий в родственном проекте tomcat-line-check — «есть ли в jar некий класс с исправлением», потому что то исправление в Tomcat добавило новый класс.
Для этих случаев Jetty это не работает. Основной CVE-2026-2332 — его исправление меняет тело метода HttpParser, не добавляя ни одного класса
(до сборки это подтверждено через gh api compare + javap). Поэтому критерий может быть только таким:
Какие CVE попадают под ваши полные координаты + линейку версий; и существуют ли вообще официально указанные исправленные версии на Maven Central.
Таблица решений генерируется tools/gen_table.py из vulnerabilities[] шести GitHub advisory + зондирования HEAD реальных jar на Maven Central,
и отказывается выдавать таблицу, если не проходят семь групп утверждений (положительный контроль / ключевое утверждение / финальная версия старой линейки / сторожевой тест / структура основного случая / разделённые модули / рейтинг).
| Три состояния | Значение |
|---|---|
PUBLIC | advisory указывает исправленную версию, и она действительно есть на Maven Central — публично доступна для обновления |
404 | advisory указывает исправленную версию, но на Central она даёт 404 — на официальной странице безопасности написано see details for availability (коммерческая поддержка) |
无 | advisory вообще не даёт исправленной версии для этой линейки (first_patched_version пуст) — исправить эту линейку можно только переходом на старшую мажорную версию |
Вся эта россыпь 404 и 无 для старых линеек (9.4 / 10.0 / 11.0) — в этом и ценность инструмента. Запустите --table, чтобы увидеть полную картину.
org.eclipse.jetty, 2026 год)| CVE | Модуль | Рейтинг | Кратко |
|---|---|---|---|
| CVE-2026-2332 | jetty-http | high / v3 7.4 | ⭐ Основное: \r\n в chunked quoted-string воспринимается как конец заголовка чанка → контрабанда запросов (CWE-444) |
| CVE-2026-19203 | jetty-http | high / v4 8.3 | ⭐ Продолжение того же семейства, что и 2332 (09-17): \n (LF) в расширении чанка воспринимается как конец заголовка чанка → контрабанда (LF EXT.TERM); ветка 9.4 затронута вплоть до 9.4.63 |
| CVE-2026-5795 | jaspi (в 12.x разделён на ee8/9/10/11-jaspi) | high / v3 7.4 | ThreadLocal в JASPI не очищается → повышение привилегий |
| CVE-2026-6790 | jetty-server | medium / v3 5.3 | Путаница Host / :authority в HTTP/2·3 |
| CVE-2026-10050 | jetty-security (в 12.x добавлен ee8/9-security) | high / v4 8.7 | Обработка ISO-8859-1 в Digest-аутентификации |
| CVE-2025-11143 | jetty-http | low / v3 3.7 | Различия в разборе URI |
🔴 Зона поражения двух случаев контрабанды (2332 и 19203) обоснована (оба лежат на основном пути разбора по умолчанию через ServerConnector / HttpParser,
не требуя включения каких-либо специальных функций). Остальные четыре — лишь строка в таблице решений:
--table, и в выводе сканирования), не давайте ложных срабатываний для развёртываний по умолчанию. А линейки 9.4 / 10 / 11 / 12.0 поражаются по умолчанию.CVE-2026-10050 (Digest) — зона поражения очень мала: нужно явно включить Digest-аутентификацию, чтобы до неё добраться; не подавайте это как главный аргумент.CVE-2026-6790 — medium, CVE-2025-11143 — low — нельзя обобщённо называть их «высокой опасностью».vulnerabilities пуст,
Dependabot сообщает «есть такая дыра», но не говорит «до какой версии обновляться»; диапазон есть только в advisory уровня репозитория. Как только глобальная база это дополнит, эту фразу нужно будет изменить.see details for availability — и на этом всё.GHSA-p2j5-5566-vpv9 поле vulnerabilities пустое)GHSA-r7p8-xq5m-436c · GHSA-7p3p-8qv8-m2vh · GHSA-2fvj-hgj9-j2gr · GHSA-wjpw-4j6x-6rwhsee details for availability):https://jetty.org/security.htmlpython tools/gen_table.py --dry # 只跑断言,不写文件
python tools/gen_table.py # 断言全过才写 CveTable.java
python tools/recheck_before_publish.py # 发文当天重跑,主张失效就改文案别改判据
mvn package # 需要 JDK 17;运行时零依赖(JUnit 仅测试期)
| Код | Значение |
|---|---|
0 | Сканирование завершено, и каждый файл действительно был прочитан |
2 | Ошибка использования (не указан путь) |
4 | Есть файлы, которые не удалось прочитать — не zip, содержимое усечено или ошибка чтения |