CVE-2026-121009
Received Received - Intake

SQL Injection in SQL::Abstract Perl Module

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

Publication date: 2026-11-04

Last updated on: 2026-11-04

Assigner: CPANSec

Description

SQL::Abstract versions from 1.90_01 before 2.000001_04 for Perl skip the injection_guard check for function names given with -func. injection_guard is documented to apply to every function name, but only the { -name => ... } shorthand goes through it. The explicit { -func => [ $name, ... ] } form puts $name into the SQL unchecked. An application that relies on injection_guard to reject an untrusted function name passed with -func allows SQL injection.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

SQL::Abstract versions from 1.90_01 before 2.000001_04 for Perl have a flaw where the injection_guard check is skipped for function names provided using the -func parameter. The injection_guard is meant to validate all function names to prevent SQL injection, but only the shorthand syntax { -name => ... } is checked. The explicit syntax { -func => [ $name, ... ] } bypasses this check, allowing untrusted function names to be inserted directly into SQL queries.

Detection Guidance

To detect this vulnerability, check if your system uses SQL::Abstract versions between 1.90_01 and 2.000001_04. Inspect Perl applications for code using the { -func => [ $name, ... ] } syntax without validation. Review SQL::Abstract module files for the presence of the injection_guard feature and its implementation.

Impact Analysis

This vulnerability allows attackers to perform SQL injection attacks if an application relies on injection_guard to reject untrusted function names passed via the -func parameter. This could lead to unauthorized data access, data manipulation, or database compromise.

Mitigation Strategies

Immediately update SQL::Abstract to version 2.000001_04 or later. If updating is not possible, modify applications to use only the { -name => ... } shorthand syntax for function names. Ensure all function names passed via -func are validated before use in SQL queries.

Chat Assistant

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

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...