Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| EXODIST / DBIx::QuickORM | affected 0 before 0.000026 |
CWE
CWE-89
References
- https://github.com/exodist/DBIx-QuickORM/commit/43d7684682050780f056f25e1879191fb0a3265e.patch
- https://metacpan.org/release/EXODIST/DBIx-QuickORM-0.000026/changes
ADP enrichment
No English description supplied.
No references supplied.
No English description supplied.