Защитная диагностика EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy по GHSA-wcrf-9vrr-854f: runtime inventory, bounded regression, измеримый verdict, красная линия и пакет данных для владельца.
Ответ и граница применимости — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
Задача этой страницы — проверить что Envoy Gateway нормализует повторные разделители и dot segments до проверки запрещённых путей Lua policy. Сначала подтвердите фактически загруженный github.com/envoyproxy/gateway, его digest, диапазон «Go:github.com/envoyproxy/gateway >= 1.8.0-rc.0, < 1.8.1; first patched 1.8.1 | Go:github.com/envoyproxy/gateway >= 0, < 1.7.4; first patched 1.7.4» и включённый entry point. Затем нужен только ограниченный regression: Вызвать только функцию нормализации на коротких synthetic path descriptors; file reader и Lua runtime заменить spies. Боль: лексически отличный путь может пройти policy, хотя файловая система интерпретирует его как тот же критический путь. Итоговый артефакт: матрица raw path / normalized path / policy verdict / filesystem call с доказательством запрета до чтения. GHSA GHSA-wcrf-9vrr-854f задаёт проверяемый ориентир, но не доказывает состояние вашей установки.
Карта решения — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
Разделите путь на Source → Parse/Normalize → Policy → Side effect. Специальная инварианта материала: Один canonical path должен поступить и в policy, и в filesystem adapter; две независимые нормализации считаются расхождением. На каждой границе укажите представление данных, владельца решения и counter. Candidate становится NOT_APPLICABLE только при доказанном отсутствии package или entry point; неизвестная runtime-версия означает UNKNOWN, а не безопасность.
Подготовка безопасного стенда — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
Соберите temp directory, in-memory repository/cache либо pure adapter. Примените протокол: Вызвать только функцию нормализации на коротких synthetic path descriptors; file reader и Lua runtime заменить spies. Используйте короткие canary labels; пользовательские записи, токены, IP, реальные конфиги, production routes и environment dump запрещены. Network, shell, database, filesystem, browser и session issuance замените spies. До control сохраните hash fixture и нулевые counters.
Control и одна переменная — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
Разрешённый control подтверждает, что harness достигает нужной ветки. Boundary-case меняет ровно один параметр и обязан остановиться до состояния «лексически отличный путь может пройти policy, хотя файловая система интерпретирует его как тот же критический путь». Сохраните поля матрица raw path / normalized path / policy verdict / filesystem call с доказательством запрета до чтения, reason code и monotonic duration. Один canonical path должен поступить и в policy, и в filesystem adapter; две независимые нормализации считаются расхождением. Не наращивайте размер/глубину после первого превышения и не используйте эксплуатационные payload.
Вердикт без догадок — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
PASS: runtime и entry point подтверждены, control прошёл, boundary остановлен до side effect, cleanup доказан. FAIL: та же provenance и наблюдаемый запрещённый counter/state. UNKNOWN: нет digest, конфигурации, control, точки наблюдения или восстановления. NOT_APPLICABLE: компонент либо функция доказанно отсутствуют. Номер patched release без runtime readback не является PASS.
Красная линия и восстановление — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
Немедленный стоп: filesystem spy вызван до policy verdict, normalizer оставил повторный разделитель либо dot segment. После стопа не повторяйте проверку с большим вводом. Верните disposable state к исходному hash, освободите объекты и выполните один benign control. Ненулевой неожиданный counter сети, процессов, файлов, записей или сессий блокирует PASS и фиксируется отдельно.
Почему нужен отдельный материал — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
Даёт безопасный pure-function regression без чтения реальных файлов, секретов или запуска Lua. Не общий path traversal и не SSRF: отдельная граница порядка normalize-before-policy в EnvoyExtensionPolicy Lua. Поэтому механическая замена framework, ОС или устройства не создаёт новый URL. Практическая самостоятельность выражена в deliverable «матрица raw path / normalized path / policy verdict / filesystem call с доказательством запрета до чтения» и в инварианте: Один canonical path должен поступить и в policy, и в filesystem adapter; две независимые нормализации считаются расхождением. Совпадающий старый intent должен стать update/merge-кандидатом.
Минимальный handoff — EnvoyExtensionPolicy Lua: проверка нормализации пути до security policy
Передайте владельцу GHSA GHSA-wcrf-9vrr-854f, runtime digest, границу «Go:github.com/envoyproxy/gateway >= 1.8.0-rc.0, < 1.8.1; first patched 1.8.1 | Go:github.com/envoyproxy/gateway >= 0, < 1.7.4; first patched 1.7.4», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Advisory опубликована 2026-07-16, обновлена 2026-07-16; эти даты отражают свежесть источника, а не популярность запроса или факт эксплуатации. После remediation повторите тот же fixture и сравните state transition.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-wcrf-9vrr-854f проверено 2026-09-02
- Первичный upstream advisory — github.com/envoyproxy/gateway проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.