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.
References
Configurations
No configuration.
History
20 Oct 2026, 19:18
| Type | Values Removed | Values Added |
|---|---|---|
| CVSS |
v2 : v3 : |
v2 : unknown
v3 : 8.4 |
18 Oct 2026, 18:16
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
18 Oct 2026, 12:17
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-10-18 12:17
Updated : 2026-10-20 19:18
NVD link : CVE-2026-78497
Mitre link : CVE-2026-78497
CVE.ORG link : CVE-2026-78497
JSON object : View
Products Affected
No product.
CWE
CWE-95
Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')
