CVE-2026-14380
Full vulnerability record from the local CVENow database.
Description
DBI versions before 1.650 for Perl are vulnerable to code injection via caller-influenced Profile. When a string is assigned to a DBI handle's Profile attribute, DBI splits it into path, package and arguments, and interpolates the package part in a string eval with no validation of the package name. Any caller-influenced value that reaches the Profile attribute is therefore arbitrary Perl code execution, including calls to run system commands. The Profile attribute can be set from three different sources that can carry untrusted data: the DBI_PROFILE environment variable, a direct attribute assignment, and a DSN driver-attribute clause dbi:Driver(Profile=>SPEC):db. An attacker controlling any of those inputs runs arbitrary Perl in the host process. The strongest remote position is a network-exposed DBI::Gofer / DBI::ProxyServer whose per-request DSN reaches the Profile attribute, letting a client execute code on the broker host.
View original CVE JSON
{
"id": "CVE-2026-14380",
"sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"published": "2026-07-07T23:16:53.963",
"lastModified": "2026-10-25T20:10:00.147",
"vulnStatus": "Modified",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "DBI versions before 1.650 for Perl are vulnerable to code injection via caller-influenced Profile.\n\nWhen a string is assigned to a DBI handle's Profile attribute, DBI splits it into path, package and arguments, and interpolates the package part in a string eval with no validation of the package name.\n\nAny caller-influenced value that reaches the Profile attribute is therefore arbitrary Perl code execution, including calls to run system commands.\n\nThe Profile attribute can be set from three different sources that can carry untrusted data: the DBI_PROFILE environment variable, a direct attribute assignment, and a DSN driver-attribute clause dbi:Driver(Profile=>SPEC):db.\n\nAn attacker controlling any of those inputs runs arbitrary Perl in the host process. The strongest remote position is a network-exposed DBI::Gofer / DBI::ProxyServer whose per-request DSN reaches the Profile attribute, letting a client execute code on the broker host."
},
{
"lang": "es",
"value": "Las versiones de DBI anteriores a la 1.650 para Perl son vulnerables a la inyección de código a través de Profile influenciado por el llamador.\n\nCuando se asigna una cadena al atributo Profile de un manejador de DBI, DBI la divide en ruta, paquete y argumentos, e interpola la parte del paquete en una evaluación de cadena sin validación del nombre del paquete.\n\nCualquier valor influenciado por el llamador que llega al atributo Profile es, por lo tanto, ejecución arbitraria de código Perl, incluyendo llamadas para ejecutar comandos del sistema.\n\nEl atributo Profile puede establecerse desde tres fuentes diferentes que pueden contener datos no confiables: la variable de entorno DBI_PROFILE, una asignación directa de atributo y una cláusula de atributo de controlador DSN dbi:Driver(Profile=>SPEC):db.\n\nUn atacante que controla cualquiera de esas entradas ejecuta Perl arbitrario en el proceso del host. La posición remota más fuerte es un DBI::Gofer / DBI::ProxyServer expuesto a la red cuyo DSN por solicitud llega al atributo Profile, permitiendo a un cliente ejecutar código en el host intermediario."
}
],
"affected": [
{
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"affectedData": [
{
"defaultStatus": "unaffected",
"collectionURL": "https://cpan.org/modules",
"packageName": "DBI",
"modules": [
"DBI"
],
"programFiles": [
"lib/DBI/Profile.pm"
],
"programRoutines": [
{
"name": "DBI::Profile::_auto_new"
}
],
"repo": "https://github.com/perl5-dbi/dbi",
"packageURL": "pkg:cpan/DBI",
"versions": [
{
"version": "0",
"lessThan": "1.650",
"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:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-09T13:51:52.778631Z",
"id": "CVE-2026-14380",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-95"
},
{
"lang": "en",
"value": "CWE-470"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:perl:dbi:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.650",
"matchCriteriaId": "3B8C837F-7D3B-4D47-B604-6927920CDF73"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/perl5-dbi/dbi/commit/b73d5d9901767fc1d16b6661ef08fbed4532e259.patch",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/perl5-dbi/dbi/security/advisories/GHSA-ch8w-hxc2-v557",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"tags": [
"Vendor Advisory"
]
},
{
"url": "https://metacpan.org/release/HMBRAND/DBI-1.650/changes",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"tags": [
"Release Notes"
]
},
{
"url": "http://www.openwall.com/lists/oss-security/2026/07/07/16",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Mailing List",
"Patch",
"Third Party Advisory"
]
}
]
}