CVE-2026-62866: паника в лексере селекторов Dasel при завершающих пробелах
Dasel — популярный инструмент командной строки и библиотека для выборки, изменения и преобразования структур данных. Уязвимость CVE-2026-62866 затрагивает обработку селекторов и приводит к неконтролируемому аварийному завершению процесса, что может использоваться для отказа в обслуживании.
Подробности
Уязвимость присутствует в файле selector/lexer/tokenize.go. Функция parseCurRune продвигает индекс входных данных через завершающие пробельные символы, а затем читает источник по уже исчерпанному индексу без проверки конца ввода. В результате селектор, оканчивающийся пробелом (в том числе строка, переданная через lexer.NewTokenizer(...).Tokenize() или dasel.Query), вызывает панику с выходом индекса за границы диапазона и завершает процесс.
Уязвимые версии: от 3.0.0 до 3.11.1 включительно. Продукт: TomWright dasel. Уровень опасности по CVSS — 6.2 (MEDIUM). Проблема классифицируется как некорректная обработка граничных условий при разборе ввода. Исправление выпущено в версии 3.11.2.
Что делать
Основная рекомендация — обновить Dasel до версии 3.11.2 или более поздней. Обновление устраняет отсутствующую проверку конца ввода в parseCurRune.
Если немедленное обновление невозможно, следует рассмотреть временные меры:
- валидировать и нормализовать селекторы перед передачей в Dasel, удаляя завершающие пробельные символы;
- не передавать в
dasel.Queryиlexer.NewTokenizer(...).Tokenize()строки, полученные из недоверенных источников, без предварительной очистки; - изолировать процессы, использующие Dasel для обработки внешнего ввода, ограничив их права и влияние на общую инфраструктуру.
Поскольку уязвимость приводит к панике и завершению процесса, она представляет риск отказа в обслуживании для сервисов, принимающих селекторы от пользователей. Ограничение доступа к таким сервисам и мониторинг аварийных завершений помогут снизить последствия до применения патча.
Уязвимость CVE-2026-62866 не связана с удаленным выполнением кода или утечкой данных — ее эффект ограничен аварийным завершением процесса. Тем не менее для сервисов, где доступность критична, обновление до Dasel 3.11.2 следует выполнить в приоритетном порядке.
Источник: CVE Project (cvelistV5)
