CVE-2026-33947 in jqlang
Résumé
par VulDB • 12/06/2026
jq est un processeur JSON en ligne de commande. Dans les versions 1.8.1 et inférieures, les fonctions jv_setpath(), jv_getpath() et delpaths_sorted() dans src/jv_aux.c de jq utilisent une récursivité non bornée dont la profondeur est contrôlée par la longueur du tableau de chemin fourni par l'appelant, sans aucune limite de profondeur imposée. Un attaquant peut fournir un document JSON contenant un tableau plat d'environ 65 000 entiers (~200 Ko) qui, lorsqu'il est utilisé comme argument de chemin par un filtre jq de confiance, épuise la pile d'appels C et provoque le crash du processus avec une erreur de segmentation (SIGSEGV). Cette faille fonctionne car la limite MAX_PARSING_DEPTH existante (10 000) ne protège que l'analyseur JSON, et non les opérations de chemin au moment de l'exécution où des tableaux peuvent être construits programmatiquement à des longueurs arbitraires. L'impact est une déni de service (crash irrécupérable) affectant toute application ou service traitant un contenu JSON non fiable via les fonctions intégrées setpath, getpath ou delpaths de jq. Ce problème a été corrigé dans le commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.