Executive brief
OpenSSL is a widely used security library that helps protect data and communications. A vulnerability was found in how it handles certain digital certificate files (PKCS#12). If an application uses OpenSSL to read a specially crafted certificate file, it could cause the application to crash or behave unexpectedly, potentially leading to a service outage.
Technical details
An out-of-bounds write vulnerability exists in the OPENSSL_uni2utf8() function, which is reachable via the public PKCS12_get_friendlyname() API. The root cause is in the bmp_to_utf8() helper function, which incorrectly forwards the remaining UTF-16 source byte count as the destination buffer capacity to UTF8_putc(). For BMP code points above U+07FF, UTF8_putc() may return -1 due to insufficient capacity; this negative value is added to the output length without validation. This results in a trailing NUL byte being written at a negative offset relative to the heap-allocated buffer. While the vendor assessed this as Low severity due to the limited nature of the one-byte write, it can lead to memory corruption or Denial of Service. Patches are available in OpenSSL versions 3.6.1, 3.5.5, 3.4.4, 3.3.6, 3.0.19, and 1.1.1ze.
Affected products
- OpenSSL Foundation OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0, 1.1.1
Timeline
- 2025-01-27: disclosed
- 2025-01-27: advisory
References
- https://github.com/openssl/openssl/commit/41be0f216404f14457bbf3b9cc488dba60b49296
- https://github.com/openssl/openssl/commit/7e9cac9832e4705b91987c2474ed06a37a93cecb
- https://github.com/openssl/openssl/commit/a26a90d38edec3748566129d824e664b54bee2e2
- https://github.com/openssl/openssl/commit/cda12de3bc0e333ea8d2c6fd15001dbdaf280015
- https://github.com/openssl/openssl/commit/ff628933755075446bca8307e8417c14d164b535
- https://openssl-library.org/news/secadv/20260127.txt
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html