CVE-2026-13766
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-13766",
"sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"published": "2026-06-30T12:16:23.180",
"lastModified": "2026-10-25T21:10:00.770",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "DBIx::QuickORM versions before 0.000026 for Perl allow SQL injection via unquoted SQL identifiers.\n\nThe 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.\n\nA 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."
},
{
"lang": "es",
"value": "Las versiones de DBIx::QuickORM anteriores a la 0.000026 para Perl permiten la inyección SQL a través de identificadores SQL sin comillas.\n\nEl constructor de SQL predeterminado, una subclase de SQL::Abstract, establece bindtype en su constructor pero nunca quote_char, por lo que SQL::Abstract emite los identificadores textualmente. Los identificadores proporcionados por el llamador (order_by, claves de columna de cláusulas where, listas de campos y de retorno, columnas de upsert y alias de unión) llegan a la cadena SQL sin procesar, mientras que los valores están vinculados a marcadores de posición y no se ven afectados.\n\nUn llamador que reenvía entrada no confiable a una posición de identificador afectada, como un valor order_by controlado por el usuario, habilita la inyección SQL: el orden de las filas puede hacerse depender de una subconsulta sobre columnas que la consulta nunca seleccionó, y las posiciones de identificador de where y update permiten una mayor divulgación y manipulación de datos."
}
],
"affected": [
{
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"affectedData": [
{
"vendor": "EXODIST",
"product": "DBIx::QuickORM",
"defaultStatus": "unaffected",
"collectionURL": "https://cpan.org/modules",
"packageName": "DBIx-QuickORM",
"programFiles": [
"lib/DBIx/QuickORM/SQLBuilder/SQLAbstract.pm",
"lib/DBIx/QuickORM/Connection.pm"
],
"programRoutines": [
{
"name": "DBIx::QuickORM::SQLBuilder::SQLAbstract::new"
},
{
"name": "DBIx::QuickORM::Connection::init"
}
],
"repo": "https://github.com/exodist/DBIx-QuickORM/",
"versions": [
{
"version": "0",
"lessThan": "0.000026",
"versionType": "custom",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 3.9,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-06-30T14:12:52.476439Z",
"id": "CVE-2026-13766",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-89"
}
]
}
],
"references": [
{
"url": "https://github.com/exodist/DBIx-QuickORM/commit/43d7684682050780f056f25e1879191fb0a3265e.patch",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
},
{
"url": "https://metacpan.org/release/EXODIST/DBIx-QuickORM-0.000026/changes",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
},
{
"url": "http://www.openwall.com/lists/oss-security/2026/06/30/4",
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
]
}