CVE-2026-33947 in jqlang
Сводка
по VulDB • 12.06.2026
jq — это процессор JSON для командной строки. В версиях 1.8.1 и более ранних функциях jv_setpath(), jv_getpath() и delpaths_sorted() в файле src/jv_aux.c jq используется неограниченная рекурсия, глубина которой контролируется длиной массива путей, передаваемого вызывающей стороной, при этом ограничение по глубине не применяется. Злоумышленник может предоставить JSON-документ, содержащий плоский массив из ~65 000 целых чисел (~200 КБ), который, будучи использованным в качестве аргумента пути доверенным фильтром jq, исчерпает стек вызовов C и приведет к аварийному завершению процесса с ошибкой segmentation fault (SIGSEGV). Этот обходной маневр работает потому, что существующее ограничение MAX_PARSING_DEPTH (10 000) защищает только парсер JSON, но не операции работы с путями во время выполнения, где массивы могут быть программно сконструированы произвольной длины. Последствием является отказ в обслуживании (невосстановимое аварийное завершение), затрагивающий любое приложение или сервис, обрабатывающие недоверенный JSON-ввод через встроенные функции setpath, getpath или delpaths jq. Эта проблема была устранена в коммите fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.