CVE-2026-78497
Received Received - Intake

Code Injection in JQ::Lite Perl Module

Vulnerability report for CVE-2026-78497, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-18

Last updated on: 2026-10-18

Assigner: CPANSec

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-18
Last Modified
2026-10-18
Generated
2026-10-18
AI Q&A
2026-10-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
kawamurashingo jq_lite to 2.51 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-95 The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval").

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

JQ::Lite versions before 2.51 for Perl allow arbitrary code execution due to improper handling of regular expressions. The vulnerability occurs because Perl code embedded in a query's regex pattern is executed via string eval without proper restrictions. Attackers can inject malicious code through queries or application-provided text, leading to arbitrary Perl code execution in the vulnerable process.

Detection Guidance

To detect this vulnerability, inspect Perl applications using JQ::Lite versions before 2.51 for embedded code execution in regular expressions. Check for patterns using (?{ ... }) blocks in user-supplied queries or inputs processed by test(), match(), or select(). Review application logs for unexpected Perl code execution or system commands.

Impact Analysis

This vulnerability allows attackers to execute arbitrary Perl code on systems using vulnerable versions of JQ::Lite. This could lead to unauthorized data access, system compromise, or further exploitation of the affected application or server. Applications processing untrusted input with JQ::Lite are particularly at risk.

Compliance Impact

This vulnerability could lead to data breaches, unauthorized access, or data exfiltration, violating GDPR's integrity and confidentiality principles and HIPAA's security requirements. Organizations may face compliance violations, legal penalties, and reputational damage if exploited.

Mitigation Strategies

Upgrade JQ::Lite to version 2.51 or later. Replace eval-based regex compilation with safe alternatives like the provided patch that uses qr/(?$modifiers:$pattern)/. Audit and sanitize all user inputs used in regex patterns to prevent code injection.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-78497. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart