Skip to content
OpenAdvisories
Critical · 9.8 CVE-2026-13766 EUVD-2026-40295GHSA-gvp3-3684-gppw

DBIx::QuickORM versions before 0.000026 for Perl allow SQL injection via unquoted SQL identifiers

Published Jun 30, 2026 · Updated Jun 30, 2026 · Assigned by CPANSec

Description

DBIx::QuickORM versions before 0.000026 for Perl allow SQL injection via unquoted SQL identifiers.

The default SQL builder, a SQL::Abstract subclass, sets bindtype in its constructor but never quote_char, so SQL::Abstract emits identifiers verbatim. Caller-supplied identifiers (order_by, where-clause column keys, field and returning lists, upsert columns, and join aliases) reach the SQL string raw, while values are placeholder-bound and unaffected.

A caller that forwards untrusted input to an affected identifier position, such as a user-controlled order_by value, enables SQL injection: the row order can be made to depend on a sub-select over columns the query never selected, and the where and update identifier positions permit further data disclosure and tampering.

Affected products

VendorProductAffectedFixed
EXODIST DBIx::QuickORM < 0.000026 0.000026

References