CVE-2026-113717
virtualenv es una herramienta para crear entornos virtuales de Python aislados. Antes de la versión 21.14.9, PipInvoke.get_pip_install_cmd() gestiona --seeder pip --download llamando a get_wheel(download=False) y, a continuación, permitiendo que pip consulte el índice configurado, con lo que se omiten la ruta download_wheel() y verify_wheel_digest() de virtualenv.
Leer descripción completaMostrar menos
Cuando la comparación de digests SHA-256 frente al índice predeterminado de PyPI sigue habilitada, un candidato del índice que coincida con el paquete incluido y su versión puede seleccionarse, por tanto, sin compararlo con los metadatos SHA-256 de PyPI. La configuración explícita de un índice personalizado ya desactiva esa comparación y queda fuera de esta afirmación de omisión de la verificación; la configuración demostrada utilizaba un índice que no es de PyPI, dejando sin definir las variables de entorno del índice para que la política de comparación siguiera activa. Esta condición no permite por sí sola vulnerar TLS ni tomar el control de la respuesta del índice. Este problema está corregido en la versión 21.14.9.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 2.3
- Versión
- 4.0
- Vector
- CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.30 %
- Percentil entre todas las CVEs puntuadas
- 21
- Fecha de la puntuación
- 22/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1203Exploitation for Client Executionexecution60 % - Impacto principal
T1195.002Compromise Software Supply Chaininitial access55 %
Inferido por reglas deterministas a partir del vector CVSS y la CWE. Solo orientativo.
Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-494
Referencias
Mostrar las 5 referencias
- https://github.com/pypa/virtualenv/commit/7babec66e043e1cc8bc66869a063653898719d96
- https://github.com/pypa/virtualenv/pull/3430
- https://github.com/pypa/virtualenv/releases/tag/21.14.9
- https://github.com/pypa/virtualenv/security/advisories/GHSA-cx28-75q4-x26q
- https://github.com/pypa/virtualenv/security/advisories/GHSA-cx28-75q4-x26q
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-113717",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-113717",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-20T19:32:38.243331Z"
}
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 2.3,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "LOW",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "PASSIVE",
"attackComplexity": "HIGH",
"attackRequirements": "PRESENT",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "LOW",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "LOW",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "LOW",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "pypa",
"product": "virtualenv",
"versions": [
{
"status": "affected",
"version": "< 21.14.9"
}
]
}
]
}
],
"published": "2026-10-20T20:17:18.017",
"references": [
{
"url": "https://github.com/pypa/virtualenv/commit/7babec66e043e1cc8bc66869a063653898719d96",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/pypa/virtualenv/pull/3430",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/pypa/virtualenv/releases/tag/21.14.9",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/pypa/virtualenv/security/advisories/GHSA-cx28-75q4-x26q",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/pypa/virtualenv/security/advisories/GHSA-cx28-75q4-x26q",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
],
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"type": "Primary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-494"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInvoke.get_pip_install_cmd() handles --seeder pip --download by calling get_wheel(download=False) and then allowing pip to consult the configured index, bypassing virtualenv's download_wheel() and verify_wheel_digest() path. When virtualenv's default-index PyPI digest comparison remains enabled, an index candidate matching the bundled package and version can therefore be selected without comparison to PyPI SHA-256 metadata. Explicit custom-index settings already opt out of that comparison and remain outside this verification-bypass claim; the demonstrated configuration used a non-PyPI index while leaving the index environment variables unset so the comparison policy remained active. This condition does not independently defeat TLS or establish control of the index response. This issue is fixed in version 21.14.9."
}
],
"lastModified": "2026-10-22T16:47:38.403",
"sourceIdentifier": "security-advisories@github.com"
}