Защитная проверка io.netty.incubator:netty-incubator-codec-bhttp по GHSA-8cfx-wx3q-mh5q: версия, обратимый fixture, PASS/FAIL/Unknown, stop-rule и обезличенный пакет доказательств.
Что проверить для io.netty.incubator:netty-incubator-codec-bhttp
Без resolved-dependencies и positive control любой вывод останется предположением. Владелец gateway не знает, завершает ли parser обработку пограничной секции известной длины. Короткий ответ: подтвердите фактический досье и границу «maven/io.netty.incubator:netty-incubator-codec-bhttp <= 0.0.22.Final → 0.0.23.Final», затем исполните только обратимую проверку: запустить upstream regression fixture в одноразовом JVM с лимитом времени и без сетевого слушателя. Не используйте production, чужие данные или вредоносные payload. GitHub Advisory Database указывает severity high и обновление 2026-08-20; это приоритет для инвентаризации, а не доказательство атаки или массового спроса. Запишите digest сборки, resolved dependency и снимок затронутой функции. Если досье транзитивный, имя образа или процесса не заменяет lock-файл, SBOM либо provenance артефакта.
Как определить применимость версии
Зафиксированная advisory-ограничение: maven/io.netty.incubator:netty-incubator-codec-bhttp <= 0.0.22.Final → 0.0.23.Final. Сопоставляйте её с реально загруженной библиотекой, а не только с manifest исходников. Разделите исход на `not_present`, `outside_range`, `affected_candidate`, `patched_or_backported` и `unknown`. Для fork зафиксируйте upstream commit и описание backport. Для категории `resource` отдельно отметьте, достигается ли соответствующий путь из доверенной зоны. Если branch или package не удаётся однозначно сопоставить, остановитесь на Unknown и не подменяйте факт общим советом «обновить всё».
Обратимый тест без опасного воспроизведения
Рекомендуемый fixture: запустить upstream regression fixture в одноразовом JVM с лимитом времени и без сетевого слушателя. До запуска подготовьте пустой временный контекст, ограничьте время и ресурсы, отключите внешнюю сеть и зарегистрируйте expected result. Сначала исполните benign positive control, который доказывает работоспособность функции. Затем один отрицательный случай, проверяющий только заявленную границу. Не переносите в fixture токены, персональные данные, реальные пути, production-конфигурацию или опубликованные proof-of-concept. После теста удалите временные сущности и подтвердите отсутствие изменения исходного состояния.
Критерии PASS, FAIL и Unknown
Практический артефакт: таблица codec version–fixture class–CPU time–termination–next parse. PASS означает, что разрешённый control работает, а пограничный случай отклонён до нежелательного состояния. FAIL фиксируется только при работающем control и наблюдаемом нарушении заявленной границы. Unknown обязателен, если ветка не доказана, test harness не достиг нужного пути, вывод нельзя прочитать обратно или ограничитель сам оборвал проверку. Для `resource` дополнительно зарегистрируйте время, память, нормализованный путь, субъект доступа либо контекст вывода — только те поля, которые относятся к механизму.
План обновления и stop-rule
Если сборка попадает в затронутый диапазон, используйте поддерживаемую исправленную ветку из primary source и повторите тот же fixture до и после изменения. Не меняйте одновременно dependency, proxy, права и формат данных: иначе вывод потеряет причинность. Stop-rule: немедленно завершите тест при росте ресурсов вне лимита, неожиданном сетевом обращении, записи за пределами временного каталога, попытке затронуть чужой объект или появлении реальных секретов. WAF, отсутствие жалоб и статус active не равны исправлению GHSA-8cfx-wx3q-mh5q.
Что приложить к запросу поддержки
Сохраните GHSA-8cfx-wx3q-mh5q, package name, resolved version, artifact digest, ветку и commit, feature state, hash синтетического fixture, исходы control и negative case, а также итог PASS/FAIL/Unknown. Приложите ссылки на GitHub Advisory Database и primary upstream source, но не вставляйте большие фрагменты чужого текста. Отдельная боль: владелец gateway не знает, завершает ли parser обработку пограничной секции известной длины. Результат — таблица codec version–fixture class–CPU time–termination–next parse. Механизм GHSA-8cfx-wx3q-mh5q (netty-incubator-codec-ohttp: Binary HTTP parser infinite loop on known-length field section boundary) не совпадает с соседними intent и требует собственного набора наблюдений. Такой досье позволяет maintainer повторить решение без доступа к production. Если advisory, локальная сборка и regression test расходятся, перечислите расхождение как Unknown вместо предположения о безопасности.
Контрольная карточка GHSA-8cfx-wx3q-mh5q для resource
Карточка именно этого решения связывает вопрос «владелец gateway не знает, завершает ли parser обработку пограничной секции известной длины» с проверкой «запустить upstream regression fixture в одноразовом JVM с лимитом времени и без сетевого слушателя». В первой строке укажите io.netty.incubator:netty-incubator-codec-bhttp, затем границу maven/io.netty.incubator:netty-incubator-codec-bhttp <= 0.0.22.Final → 0.0.23.Final. Во второй строке зафиксируйте исходный сигнал: netty-incubator-codec-ohttp: Binary HTTP parser infinite loop on known-length field section boundary. Третья строка — ожидаемый практический вывод «таблица codec version–fixture class–CPU time–termination–next parse». Для этого механизма не подходят доказательства соседних страниц: название продукта, общий статус службы, один HTTP 200, отсутствие жалоб или скриншот интерфейса не отвечают на заявленный вопрос. Отдельно зарегистрируйте, какой benign control подтверждает достижимость пути, какое наблюдение считается отказом до побочного эффекта и при каком условии решение становится Unknown. Пакет не должен содержать токены, реальные имена, адреса узлов, содержимое документов, дампы памяти или полный production-log. Финальная подпись включает дату 2026-08-31, GHSA-8cfx-wx3q-mh5q, digest сборки и ссылку на upstream. Так другой специалист проверит категорию resource по тем же полям, не повторяя опасный сценарий и не получая доступ к данным пользователя.
Минимальный record для повторной проверки netty-binary-http-known-length-loop-check
Владелец gateway не знает, завершает ли parser обработку пограничной секции известной длины. Рабочее действие для этой карточки: запустить upstream regression fixture в одноразовом JVM с лимитом времени и без сетевого слушателя. Ожидаемый артефакт: таблица codec version–fixture class–CPU time–termination–next parse. Upstream формулировка механизма: netty-incubator-codec-ohttp: Binary HTTP parser infinite loop on known-length field section boundary. Компонентная граница: maven/io.netty.incubator:netty-incubator-codec-bhttp <= 0.0.22.Final → 0.0.23.Final. Для resource-boundary фиксируют baseline RSS, peak RSS, CPU-time, wall-clock deadline, число принятых единиц и успешность следующей чистой операции. Проверка считается воспроизводимой только при одинаковом лимите процесса и холодном старте. Нельзя увеличивать вход без верхней границы: заранее задайте максимум, локальный watchdog и аварийное завершение. Цепочка наблюдения «netty → binary → http → known → length → loop → check» задаёт названия колонок и порядок read-back. Машиночитаемые ключи record: netty-binary-http-known-length-loop-check-baseline, netty-binary-http-known-length-loop-check-inventory, netty-binary-http-known-length-loop-check-control, netty-binary-http-known-length-loop-check-boundary, netty-binary-http-known-length-loop-check-fixture, netty-binary-http-known-length-loop-check-deadline, netty-binary-http-known-length-loop-check-readback, netty-binary-http-known-length-loop-check-sideeffects, netty-binary-http-known-length-loop-check-verdict, netty-binary-http-known-length-loop-check-provenance, netty-binary-http-known-length-loop-check-rollback, netty-binary-http-known-length-loop-check-timestamp, netty-binary-http-known-length-loop-check-owner, netty-binary-http-known-length-loop-check-digest, netty-binary-http-known-length-loop-check-unknownreason. После обновления повторяется тот же fixture, поэтому изменение io.netty.incubator:netty-incubator-codec-bhttp можно отделить от изменения окружения. Для GHSA-8cfx-wx3q-mh5q verdict остаётся Unknown при пропущенном control, несовпадающей ветке либо недоступном read-back.
Материал подготовлен редакцией VOne с помощью ИИ; версии, источники, безопасный fixture, stop-rule, privacy-ограничения и отсутствие рекламных обещаний перепроверены человеком.
Источники и проверка
- GitHub Advisory Database GHSA-8cfx-wx3q-mh5q проверено 2026-08-31
- Primary upstream source for io.netty.incubator:netty-incubator-codec-bhttp проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.