CVE-2026-31789
Issue summary: Converting an excessively large OCTET STRING value to a hexadecimal string leads to a heap buffer overflow on 32 bit platforms.
Impact summary: A heap buffer overflow may lead to a crash or possibly an attacker controlled code execution or other undefined behavior.
If an attacker can supply a crafted X.509 certificate with an excessively large OCTET STRING value in extensions such as the Subject Key Identifier (SKID) or Authority Key Identifier (AKID) which are being converted to hex, the size of the buffer needed for the result is calculated as multiplication of the input length by 3. On 32 bit platforms, this multiplication may overflow resulting in the allocation of a smaller buffer and a heap buffer overflow.
Leer descripción completaMostrar menos
Applications and services that print or log contents of untrusted X.509 certificates are vulnerable to this issue. As the certificates would have to have sizes of over 1 Gigabyte, printing or logging such certificates is a fairly unlikely operation and only 32 bit platforms are affected, this issue was assigned Low severity.
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 9.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.33%
- Percentil entre todas las CVEs puntuadas: 23
- Fecha de la puntuación: 6/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
T1190Exploit Public-Facing Applicationinitial access85 % - Impacto principal
T1059Command and Scripting Interpreterexecution75 %
Vulnerabilidad remota sin autenticación (AV:N/PR:N) explotable mediante certificado X.509 malicioso. Overflow de heap puede permitir ejecución de código (Impact: code execution), aunque en práctica limitado a plataformas 32-bit.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
CWE
- CWE-787
Referencias
- https://github.com/openssl/openssl/commit/364f095b80601db632b0def6a33316967f863bde
- https://github.com/openssl/openssl/commit/7a9087efd769f362ad9c0e30c7baaa6bbfa65ecf
- https://github.com/openssl/openssl/commit/945b935ac66cc7f1a41f1b849c7c25adb5351f49
- https://github.com/openssl/openssl/commit/a24216018e1ede8ff01a4ff5afff7dfbd443e2f9
- https://github.com/openssl/openssl/commit/a91e537d16d74050dbde50bb0dfb1fe9930f0521
- https://openssl-library.org/news/secadv/20260407.txt
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-31789",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-31789",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-04-09T03:56:05.246752Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 9.8,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 3.9
},
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.8,
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:H",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 4.7,
"exploitabilityScore": 1
}
]
},
"affected": [
{
"source": "openssl-security@openssl.org",
"affectedData": [
{
"vendor": "OpenSSL",
"product": "OpenSSL",
"versions": [
{
"status": "affected",
"version": "3.6.0",
"lessThan": "3.6.2",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.5.0",
"lessThan": "3.5.6",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.4.0",
"lessThan": "3.4.5",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.3.0",
"lessThan": "3.3.7",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.0.0",
"lessThan": "3.0.20",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
},
{
"source": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
"affectedData": [
{
"vendor": "Siemens",
"product": "SIMATIC CN 4100",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "V5.0",
"versionType": "custom"
}
],
"defaultStatus": "unknown"
}
]
}
],
"published": "2026-04-07T22:16:21.617",
"references": [
{
"url": "https://github.com/openssl/openssl/commit/364f095b80601db632b0def6a33316967f863bde",
"tags": [
"Patch"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://github.com/openssl/openssl/commit/7a9087efd769f362ad9c0e30c7baaa6bbfa65ecf",
"tags": [
"Patch"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://github.com/openssl/openssl/commit/945b935ac66cc7f1a41f1b849c7c25adb5351f49",
"tags": [
"Patch"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://github.com/openssl/openssl/commit/a24216018e1ede8ff01a4ff5afff7dfbd443e2f9",
"tags": [
"Patch"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://github.com/openssl/openssl/commit/a91e537d16d74050dbde50bb0dfb1fe9930f0521",
"tags": [
"Patch"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://openssl-library.org/news/secadv/20260407.txt",
"tags": [
"Vendor Advisory"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://cert-portal.siemens.com/productcert/html/ssa-032379.html",
"source": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "openssl-security@openssl.org",
"description": [
{
"lang": "en",
"value": "CWE-787"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Issue summary: Converting an excessively large OCTET STRING value to\na hexadecimal string leads to a heap buffer overflow on 32 bit platforms.\n\nImpact summary: A heap buffer overflow may lead to a crash or possibly\nan attacker controlled code execution or other undefined behavior.\n\nIf an attacker can supply a crafted X.509 certificate with an excessively\nlarge OCTET STRING value in extensions such as the Subject Key Identifier\n(SKID) or Authority Key Identifier (AKID) which are being converted to hex,\nthe size of the buffer needed for the result is calculated as multiplication\nof the input length by 3. On 32 bit platforms, this multiplication may overflow\nresulting in the allocation of a smaller buffer and a heap buffer overflow.\n\nApplications and services that print or log contents of untrusted X.509\ncertificates are vulnerable to this issue. As the certificates would have\nto have sizes of over 1 Gigabyte, printing or logging such certificates\nis a fairly unlikely operation and only 32 bit platforms are affected,\nthis issue was assigned Low severity.\n\nThe FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this\nissue, as the affected code is outside the OpenSSL FIPS module boundary."
},
{
"lang": "es",
"value": "Resumen del problema: La conversión de un valor OCTET STRING excesivamente grande a una cadena hexadecimal conduce a un desbordamiento de búfer de montón en plataformas de 32 bits.\n\nResumen del impacto: Un desbordamiento de búfer de montón puede conducir a un fallo o posiblemente a una ejecución de código controlada por un atacante u otro comportamiento indefinido.\n\nSi un atacante puede proporcionar un certificado X.509 manipulado con un valor OCTET STRING excesivamente grande en extensiones como el Identificador de Clave de Sujeto (SKID) o el Identificador de Clave de Autoridad (AKID) que se están convirtiendo a hexadecimal, el tamaño del búfer necesario para el resultado se calcula como la multiplicación de la longitud de entrada por 3. En plataformas de 32 bits, esta multiplicación puede desbordarse, lo que resulta en la asignación de un búfer más pequeño y un desbordamiento de búfer de montón.\n\nLas aplicaciones y servicios que imprimen o registran contenidos de certificados X.509 no confiables son vulnerables a este problema. Dado que los certificados tendrían que tener tamaños de más de 1 Gigabyte, imprimir o registrar dichos certificados es una operación bastante improbable y solo las plataformas de 32 bits se ven afectadas, a este problema se le asignó una severidad Baja.\n\nLos módulos FIPS en 3.6, 3.5, 3.4, 3.3 y 3.0 no se ven afectados por este problema, ya que el código afectado está fuera del límite del módulo FIPS de OpenSSL."
}
],
"lastModified": "2026-07-24T23:10:00.563",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "B28A8143-89A4-4332-A1F8-A65FB5AA829F",
"versionEndExcluding": "3.0.20",
"versionStartIncluding": "3.0.0"
},
{
"criteria": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "CF303B21-D9BF-461D-B7B0-A3FE1D557A9F",
"versionEndExcluding": "3.3.7",
"versionStartIncluding": "3.3.0"
},
{
"criteria": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "DCCE43D0-8F17-475D-9EE6-842F758A9905",
"versionEndExcluding": "3.4.5",
"versionStartIncluding": "3.4.0"
},
{
"criteria": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F6BC0271-444D-4597-BF05-DC60034EAA49",
"versionEndExcluding": "3.5.6",
"versionStartIncluding": "3.5.0"
},
{
"criteria": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4A9E621D-29D8-418A-BF37-BED333C14507",
"versionEndExcluding": "3.6.2",
"versionStartIncluding": "3.6.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "openssl-security@openssl.org"
}