Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion
Issue summary: Calling PKCS12_get_friendlyname() function on a maliciously crafted PKCS#12 file with a BMPString (UTF-16BE) friendly name containing non-ASCII BMP code point can trigger a one byte write before the allocated buffer. Impact summary: The out-of-bounds write can cause a memory corruption which can have various consequences including a Denial of Service. The OPENSSL_uni2utf8() function performs a two-pass conversion of a PKCS#12 BMPString (UTF-16BE) to UTF-8. In the second pass, when emitting UTF-8 bytes, the helper function bmp_to_utf8() incorrectly forwards the remaining UTF-16 source byte count as the destination buffer capacity to UTF8_putc(). For BMP code points above U+07FF, UTF-8 requires three bytes, but the forwarded capacity can be just two bytes. UTF8_putc() then returns -1, and this negative value is added to the output length without validation, causing the length to become negative. The subsequent trailing NUL byte is then written at a negative offset, causing write outside of heap allocated buffer. The vulnerability is reachable via the public PKCS12_get_friendlyname() API when parsing attacker-controlled PKCS#12 files. While PKCS12_parse() uses a different code path that avoids this issue, PKCS12_get_friendlyname() directly invokes the vulnerable function. Exploitation requires an attacker to provide a malicious PKCS#12 file to be parsed by the application and the attacker can just trigger a one zero byte write before the allocated buffer. For that
CVE-2025-69419
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2025-69419
OpenSSL
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"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"
},
{
"status": "affected",
"version": "3.4.0",
"lessThan": "3.4.4",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.3.0",
"lessThan": "3.3.6",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.0.0",
"lessThan": "3.0.19",
"versionType": "semver"
},
{
"status": "affected",
"version": "1.1.1",
"lessThan": "1.1.1ze",
"versionType": "custom"
}
],
"defaultStatus": "unaffected"
}
]- Related CVEs
- CVE-2025-69419
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #27132 · Revision 1
- Added to Heist Feed
- Publisher date