CVE-2026-78497
Publiée le 2026-10-18 · Dernière modification le 2026-10-20
Les versions de JQ::Lite antérieures à 2.51 sont un module Perl utilisé pour fournir des capacités de requête de type SQL pour des structures de données. La faille existe car le logiciel utilise une méthode d'évaluation de chaîne pour compiler les expressions régulières utilisées dans les modèles de requête. Plus précisément, il ne bloque pas la syntaxe `(?{ ... })`, permettant ainsi l'exécution de code Perl intégré lors du processus de compilation.
Un attaquant peut exécuter du code Perl arbitraire avec les privilèges du processus de l'application, entraînant une perte totale de confidentialité, d'intégrité et de disponibilité. Cette exploitation est relativement simple à réaliser et ne nécessite ni authentification ni interaction de l'utilisateur. Cependant, comme le vecteur d'attaque est local, l'attaquant doit déjà disposer d'un moyen de fournir une requête ou une entrée malveillante que l'application incorpore dans un modèle.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
JQ::Lite versions before 2.51 for Perl execute Perl code embedded in a query's regular expression by compiling it with string eval. The pattern given to test(), match(), or the match and =~ conditions of select() is placed in a `qr'...'` literal and compiled as source text, so a `(?{ ... })` code block in it runs without `use re 'eval'`. Single quotes in the pattern are escaped, but a code block runs in place and needs none. An attacker who supplies a query, or text that an application inserts into the pattern of one, can execute arbitrary Perl code in the calling process.