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.
Published: 2026-11-04
Score: n/a
EPSS: n/a
KEV: No
Impact: SQL Injection that can lead to data exposure or unauthorized database actions
Action: Patch
AI Analysis

Impact

The SQL::Abstract Perl module from versions 1.90_01 until before 2.000001_04 skips the injection_guard check when a function name is supplied via the explicit -func parameter. This allows an attacker to inject arbitrary SQL code by controlling the function name, enabling adversaries to read, modify, or delete data in the database, and potentially execute other harmful commands depending on database privileges.

Affected Systems

Perl applications that use the SQL::Abstract module on CPAN, specifically those incorporating versions 1.90_01 through any release prior to 2.000001_04. The vulnerability is tied to the handling of the -func parameter for function names.

Risk and Exploitability

The EPSS score is not available and the vulnerability is not listed in CISA KEV, so current exploitation metrics are uncertain. However, the flaw directly facilitates SQL injection, a high‑risk weakness (CWE‑89). Because the check is bypassed regardless of other safeguards, any application that relies on the injection guard for -func is vulnerable. The launch of the exploit would involve supplying a crafted function name to the -func option, making this a remotely exploitable attack vector.

Generated by OpenCVE AI on November 4, 2026 at 15:35 UTC.

Remediation

Vendor Solution

Upgrade to SQL-Abstract 2.000001_04 or later.


OpenCVE Recommended Actions

  • Upgrade SQL::Abstract to version 2.000001_04 or later
  • If immediate upgrade is not possible, replace usage of -func with -name or otherwise ensure function names are fully validated before use
  • Audit application code for any untrusted input that may reach the -func parameter and enforce strict checks or sanitize inputs to prevent injection

Generated by OpenCVE AI on November 4, 2026 at 15:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 14:45:00 +0000

Type Values Removed Values Added
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.
Title SQL::Abstract versions from 1.90_01 before 2.000001_04 for Perl skip the injection_guard check for function names given with -func
Weaknesses CWE-89
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-11-04T14:36:35.082Z

Reserved: 2026-11-03T08:11:18.519Z

Link: CVE-2026-121009

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-04T15:17:42.000

Modified: 2026-11-04T15:17:42.000

Link: CVE-2026-121009

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T15:45:15Z

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')