CVE-2025-15469
Issue summary: The 'openssl dgst' command-line tool silently truncates input data to 16MB when using one-shot signing algorithms and reports success instead of an error.
Impact summary: A user signing or verifying files larger than 16MB with one-shot algorithms (such as Ed25519, Ed448, or ML-DSA) may believe the entire file is authenticated while trailing data beyond 16MB remains unauthenticated.
When the 'openssl dgst' command is used with algorithms that only support one-shot signing (Ed25519, Ed448, ML-DSA-44, ML-DSA-65, ML-DSA-87), the input is buffered with a 16MB limit.
Leer descripción completaMostrar menos
If the input exceeds this limit, the tool silently truncates to the first 16MB and continues without signaling an error, contrary to what the documentation states. This creates an integrity gap where trailing bytes can be modified without detection if both signing and verification are performed using the same affected codepath.
The issue affects only the command-line tool behavior. Verifiers that process the full message using library APIs will reject the signature, so the risk primarily affects workflows that both sign and verify with the affected 'openssl dgst' command. Streaming digest algorithms for 'openssl dgst' and library users are unaffected.
The FIPS modules in 3.5 and 3.6 are not affected by this issue, as the command-line tools are outside the OpenSSL FIPS module boundary.
OpenSSL 3.5 and 3.6 are vulnerable to this issue.
OpenSSL 3.4, 3.3, 3.0, 1.1.1 and 1.0.2 are not affected by this issue.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Puntuación base: 5.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.20%
- Percentil entre todas las CVEs puntuadas: 9
- 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).
Tecnologías afectadas (1)
CWE
- CWE-347
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2025-15469",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2025-15469",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-01-29T14:54:00.486808Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.5,
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "LOW",
"confidentialityImpact": "NONE"
},
"impactScore": 3.6,
"exploitabilityScore": 1.8
}
]
},
"affected": [
{
"source": "openssl-security@openssl.org",
"affectedData": [
{
"vendor": "OpenSSL",
"product": "OpenSSL",
"versions": [
{
"status": "affected",
"version": "3.6.0",
"lessThan": "3.6.1",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.5.0",
"lessThan": "3.5.5",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-01-27T16:16:14.523",
"references": [
{
"url": "https://github.com/openssl/openssl/commit/310f305eb92ea8040d6b3cb75a5feeba8e6acf2f",
"tags": [
"Patch"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://github.com/openssl/openssl/commit/a7936fa4bd23c906e1955a16a0a0ab39a4953a61",
"tags": [
"Patch"
],
"source": "openssl-security@openssl.org"
},
{
"url": "https://openssl-library.org/news/secadv/20260127.txt",
"tags": [
"Vendor Advisory"
],
"source": "openssl-security@openssl.org"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "openssl-security@openssl.org",
"description": [
{
"lang": "en",
"value": "CWE-347"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Issue summary: The 'openssl dgst' command-line tool silently truncates input\ndata to 16MB when using one-shot signing algorithms and reports success instead\nof an error.\n\nImpact summary: A user signing or verifying files larger than 16MB with\none-shot algorithms (such as Ed25519, Ed448, or ML-DSA) may believe the entire\nfile is authenticated while trailing data beyond 16MB remains unauthenticated.\n\nWhen the 'openssl dgst' command is used with algorithms that only support\none-shot signing (Ed25519, Ed448, ML-DSA-44, ML-DSA-65, ML-DSA-87), the input\nis buffered with a 16MB limit. If the input exceeds this limit, the tool\nsilently truncates to the first 16MB and continues without signaling an error,\ncontrary to what the documentation states. This creates an integrity gap where\ntrailing bytes can be modified without detection if both signing and\nverification are performed using the same affected codepath.\n\nThe issue affects only the command-line tool behavior. Verifiers that process\nthe full message using library APIs will reject the signature, so the risk\nprimarily affects workflows that both sign and verify with the affected\n'openssl dgst' command. Streaming digest algorithms for 'openssl dgst' and\nlibrary users are unaffected.\n\nThe FIPS modules in 3.5 and 3.6 are not affected by this issue, as the\ncommand-line tools are outside the OpenSSL FIPS module boundary.\n\nOpenSSL 3.5 and 3.6 are vulnerable to this issue.\n\nOpenSSL 3.4, 3.3, 3.0, 1.1.1 and 1.0.2 are not affected by this issue."
},
{
"lang": "es",
"value": "Resumen del problema: La herramienta de línea de comandos 'openssl dgst' trunca silenciosamente los datos de entrada a 16MB cuando se utilizan algoritmos de firma de un solo paso e informa éxito en lugar de un error.\n\nResumen del impacto: Un usuario que firma o verifica archivos de más de 16MB con algoritmos de un solo paso (como Ed25519, Ed448 o ML-DSA) puede creer que el archivo completo está autenticado mientras que los datos finales más allá de 16MB permanecen sin autenticar.\n\nCuando se utiliza el comando 'openssl dgst' con algoritmos que solo admiten la firma de un solo paso (Ed25519, Ed448, ML-DSA-44, ML-DSA-65, ML-DSA-87), la entrada se almacena en búfer con un límite de 16MB. Si la entrada excede este límite, la herramienta trunca silenciosamente a los primeros 16MB y continúa sin señalar un error, contrario a lo que establece la documentación. Esto crea una brecha de integridad donde los bytes finales pueden modificarse sin detección si tanto la firma como la verificación se realizan utilizando la misma ruta de código afectada.\n\nEl problema afecta solo el comportamiento de la herramienta de línea de comandos. Los verificadores que procesan el mensaje completo utilizando las API de la librería rechazarán la firma, por lo que el riesgo afecta principalmente a los flujos de trabajo que tanto firman como verifican con el comando 'openssl dgst' afectado. Los algoritmos de resumen por streaming para 'openssl dgst' y los usuarios de la librería no se ven afectados.\n\nLos módulos FIPS en 3.5 y 3.6 no se ven afectados por este problema, ya que las herramientas de línea de comandos están fuera del límite del módulo FIPS de OpenSSL.\n\nOpenSSL 3.5 y 3.6 son vulnerables a este problema.\n\nOpenSSL 3.4, 3.3, 3.0, 1.1.1 y 1.0.2 no se ven afectados por este problema."
}
],
"lastModified": "2026-06-17T08:37:50.893",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1CAC7CBE-EC03-4089-938A-0CEEB2E09B62",
"versionEndExcluding": "3.5.5",
"versionStartIncluding": "3.5.0"
},
{
"criteria": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "68352537-5E99-4F4D-B78A-BCF0353A70A5",
"versionEndExcluding": "3.6.1",
"versionStartIncluding": "3.6.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "openssl-security@openssl.org"
}