Vulnocalypse
Back to feed
23Track

Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion

OpenSSL · CVE-2025-69419
0 news outlets0 CERTs and agencies0 researchers

Assessment: Track

SSVC decision points: exploitation none, automatable no, technical impact total, deployment high.

What is it?

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 diff

Evidence

No coverage recorded yet.

Exploitation

  • Public proof of concept
  • Exploited in the wild
  • Listed as known exploited
CVSS
7.4
EPSS
0.6%
First seen
2 d ago
Status
corroborated

All OpenSSL vulnerabilities