Защитная инструкция по Quarkus и ghsa-rc95-pcm8-65v9: установить применимость, проверить одинаковую нормализацию path в security и router на одноразовом стенде, измерить безопасный исход и подготовить обратимый выпуск без production-данных.
Карта применимости для Quarkus
Advisory описывает отдельную проблему: matrix parameters после semicolon могут по-разному восприниматься security layer и REST router. Проверяемая граница проходит между raw URL path, security constraint matcher и RESTEasy Reactive route. Диапазоны Reviewed record: maven:io.quarkus:quarkus-vertx-http < 3.20.6.1 → 3.20.6.1; maven:io.quarkus:quarkus-vertx-http >= 3.21.0, < 3.27.3.1 → 3.27.3.1; maven:io.quarkus:quarkus-vertx-http >= 3.30.0, < 3.33.1.1 → 3.33.1.1; maven:io.quarkus:quarkus-vertx-http >= 3.34.0, < 3.35.1.1 → 3.35.1.1. Lockfile служит подсказкой, но не заменяет digest реально запущенной сборки. Снимите версии quarkus-vertx-http/RESTEasy, protected route, raw/normalized paths, role, security decision и handler id. Для каждого элемента укажите observed, expected, unknown или not-applicable, время и происхождение. Severity high не подтверждает атаку, ущерб либо состояние конкретного deployment. Если происхождение бинарника неизвестно, не делайте вывод по одному package manager.
Критерий закрытия и минимальный пакет
Карточка закрывается, когда версия и provenance подтверждены, граничный вход даёт ожидаемый отказ или безопасную обработку, обычный контроль проходит, cleanup завершён, а журнал не содержит новых warning/error. Минимальный пакет для поддержки: versions, route policy, raw/normalized paths, role matrix, decisions, handler ids и cleanup. В нём не должно быть IP, tokens, passwords, cookies, private keys, полного config, реальных файлов или payload. Отдельной строкой укажите: GitHub Reviewed Advisory подтверждает механизм и диапазон, но не эксплуатацию в этой среде, популярность запроса, индексацию или позиции.
Матрица решений на защитной границе
Разложите сценарий на вход, policy/parser, защищаемый объект и наблюдаемый исход. Для Quarkus это «между raw URL path, security constraint matcher и RESTEasy Reactive route». Ветвь close допустима, когда runtime вне указанных диапазонов или функция недостижима и это подтверждено. Ветвь update выбирают при совпавшей версии и доступном фиксированном артефакте. Ветвь contain оставляет узкое ограничение доступа до окна обновления. Ветвь escalate нужна при unknown provenance. Отчёт разделяет факт advisory, локальное наблюдение и вывод. Не объединяйте этот механизм с соседними advisory только из-за общего слова security.
Обратимый тест без эксплуатационного payload
Безопасный опыт: в локальном app создать один public и один protected endpoint, затем сравнить canonical protected path с вариантом, содержащим пустой matrix parameter. Опыт проводят в одноразовой среде и завершают после первого граничного случая. Измеримый безопасный исход: оба protected варианта получают одинаковый отказ для anonymous и одинаковый доступ для разрешённой роли. Не увеличивайте объём, глубину, число соединений или права после первого отклонения. Сохраняйте только decision code, counters, timings и hashes; реальные имена, адреса, credentials и пользовательские данные исключите. Красная линия: тест идёт во внешний сервис, перебирает paths или требует реальные credentials. При её достижении завершите стенд и оставьте результат blocked/unknown вместо попытки воспроизвести атаку.
Окно обновления и контроль регрессии
Зафиксируйте исходный dependency tree и артефакт, установите подтверждённую исправленную ветку из диапазона «maven:io.quarkus:quarkus-vertx-http < 3.20.6.1 → 3.20.6.1; maven:io.quarkus:quarkus-vertx-http >= 3.21.0, < 3.27.3.1 → 3.27.3.1; maven:io.quarkus:quarkus-vertx-http >= 3.30.0, < 3.33.1.1 → 3.33.1.1; maven:io.quarkus:quarkus-vertx-http >= 3.34.0, < 3.35.1.1 → 3.35.1.1» в staging и повторите тот же baseline/boundary/baseline набор. Не меняйте одновременно reverse proxy, role model, parser settings или OS: иначе нельзя связать результат с обновлением. Сравните latency, memory, accepted/rejected decisions и обычный функциональный сценарий. Временный containment снимают только после безопасного результата и готового возврата. Возврат для этой карточки: остановить app, удалить synthetic endpoints/accounts, вернуть security config.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-rc95-pcm8-65v9 проверено 2026-08-30
- Upstream-страница Quarkus проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.