К обсуждениям

toml-node: проверка ограничения глубины recursion

Редакция VOne Технологии

Безопасный аудит toml-node parser после uncontrolled recursion: nesting budget, iterative counters и bounded fixture без создания большого документа.

Сначала отделите симптом от факта: toml-node nested parser

Advisory описывает uncontrolled recursion на вложенном input; primary change вводит защиту, которую следует проверять по фактической parse-depth boundary. Применимость устанавливают по реально загруженной версии и доступности именно этого entry point; совпадение названия продукта, общего класса ошибки или CVE в scanner недостаточно. Зафиксируйте package/image/binary digest и effective configuration. GHSA-82x6-q7mm-w9cf задаёт внешнюю границу исследования, а primary change показывает, что изменил maintainer. Пока provenance или reachability не подтверждены, состояние остаётся UNKNOWN. Advisory не сообщает, что конкретная система была атакована, и материал не воспроизводит опасный input.

Матрица решения: depth table nesting level × parser stack counter × elapsed time × result class × process liveness

Соберите «depth table nesting level × parser stack counter × elapsed time × result class × process liveness». Нужные поля: toml-node package/commit, configured or effective depth ceiling, tiny generated fixtures, call-depth instrumentation, time/RSS budget и exception schema. Каждую строку свяжите с измерением, а не предположением: runtime query, immutable hash, test recorder или bounded counter. Desired config и effective behavior держите в разных колонках. Применяйте TRUE, FALSE, UNKNOWN и NOT-APPLICABLE с короткой причиной. Удалите hostname, IP, usernames, tokens, document content, memory dumps и raw request bodies; для воспроизводимости достаточно относительных ids, размеров, типов и итоговых классов.

Два контроля без опасного payload

В worker с memory/time limit разобрать три коротких generated structures: shallow, boundary-minus-one и mocked over-limit token stream без огромной строки. Перед выполнением запишите SHA-256 fixture, исходные counters, deadline, memory/process ceiling и rollback. Positive control доказывает, что harness достигает нужной функции; negative control должен остановиться на validator, authorization, containment или lifecycle boundary до необратимого эффекта. После каждого случая выполните cleanup и повторно проверьте baseline. Не увеличивайте вход до фактического отказа: достаточно test double, recorder, inert marker либо малого synthetic object.

Что считать PASS для CVE-2026-77465

PASS разрешён только при таком результате: Shallow cases парсятся; over-limit завершается контролируемой ошибкой до stack exhaustion; heartbeat, RSS и event loop остаются в бюджете. Практическое действие: Обновить на release с pull request; до этого ограничить размер/глубину недоверенного TOML до parser entry. Если runtime входит в affected range и path доступен, ставят UPDATE-REQUIRED. NOT-REACHABLE относится только к проверенной функции; UNKNOWN сохраняют при неподтверждённом backport или расходящихся hashes. После update повторяют ровно ту же матрицу и один штатный smoke-test. Одновременные изменения network, policy, dependency или data state запрещены: они делают причинность непроверяемой.

Красные линии и передача владельцу

Немедленный stop-rule: Не искать crash depth, не блокировать основной process и остановиться при росте stack/RSS либо отсутствии worker timeout. Не расширяйте привилегии, глубину, размер, скорость или охват после неожиданного warning, timeout, cross-boundary call или state mutation. Передайте только package/commit digest, effective depth budget, three fixture hashes, result/timing/RSS и worker teardown, плюс московское время, expected/actual, advisory/primary URLs и владельца rollback. Очистите secrets и персональные данные. Такой пакет подтверждает выбранный инвариант, но не отсутствие прошлой эксплуатации, безопасность всей системы, применимость к другой версии, поисковую популярность, индексацию или позиции.

Материал подготовлен редакцией VOne с помощью автоматизированного черновика. Факты и границы вывода сверены 5 сентября 2026 года по прямой advisory и первичному upstream изменению. Текст написан самостоятельно; опасные действия и реальные пользовательские данные не использовались.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.