CVE-2026-113714

Estado: Pendiente de análisisBaja (2.3)—
Gravedad2.3Baja · CVSS 4.0
Probabilidad de explotación0.21 %mayor que el 11 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

virtualenv es una herramienta para crear entornos virtuales de Python aislados. Antes de la versión 21.14.9, download_wheel() escribe las descargas del índice de paquetes directamente en la caché reutilizable de wheel/house antes de seleccionar un objetivo de verificación a partir de la salida textual "Saved" de pip.

Leer descripción completaMostrar menos

Con la comparación de resúmenes del índice predeterminado habilitada, un índice de paquetes controlado por un atacante puede inyectar una línea "Saved" falsificada a través del atributo data-requires-python de un enlace descartado; esta variante de línea falsificada también requiere conocer una ruta absoluta al wheel auténtico incluido. La ruta incorrecta puede entonces ser sometida a hash, mientras que una discrepancia de resumen deja el archivo rechazado en la caché para su posterior selección sin verificación. Una variante independiente de archivo de caché rechazado requiere control sobre los datos descargados o la selección de archivos, pero no los requisitos previos de la línea falsificada. Las excepciones de índices personalizados explícitos quedan fuera de la comparación prometida con PyPI, y el fallo no permite por sí mismo eludir TLS ni establecer el control de PyPI predeterminado. Esta vulnerabilidad está corregida 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.21 %
Percentil entre todas las CVEs puntuadas
11
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.

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

Referencias

Mostrar las 4 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-113714",
  "cveTags": [],
  "metrics": {
    "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-20T19:17:34.050",
  "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-494p-63j8-28p3",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Awaiting Analysis",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-354"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, download_wheel() writes package-index downloads directly into the reusable wheel/house cache before selecting a verification target from pip's textual Saved output. With default-index digest comparison enabled, a controlled package index can inject a misleading Saved line through a discarded link's data-requires-python attribute; this forged-line variant also requires knowledge of an absolute path to the genuine bundled wheel. The wrong path can then be hashed, while a digest mismatch leaves the rejected archive in the cache for later selection without verification. A separate rejected-cache-file variant requires control over downloaded data or archive selection but not the forged-line prerequisites. Explicit custom-index exceptions are outside the promised PyPI comparison, and the issue does not independently bypass TLS or establish control of default PyPI. This issue is fixed in version 21.14.9."
    }
  ],
  "lastModified": "2026-10-20T20:17:17.563",
  "sourceIdentifier": "security-advisories@github.com"
}