CVE-2025-69419

Source
https://cve.org/CVERecord?id=CVE-2025-69419
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-69419.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-69419
Downstream
ALPINE (1)
ALSA (5)
AZL (6)
BELL (1)
CGA (20)
CLEANSTART (2)
CLSA (9)
DEBIAN (1)
ECHO (1)
JLSEC (1)
MGASA (1)
MINI (3)
OESA (18)
openSUSE (2)
RHSA (20)
RLSA (5)
ROOT (1)
SUSE (14)
UBUNTU (1)
Related
Published
2026-01-27T16:01:24Z
Modified
2026-11-11T13:19:30Z
Severity
  • 7.4 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N CVSS Calculator
Summary
Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion
Details

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 reason the issue was assessed as Low severity according to our Security Policy.

The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the PKCS#12 implementation is outside the OpenSSL FIPS module boundary.

OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 and 1.1.1 are vulnerable to this issue.

OpenSSL 1.0.2 is not affected by this issue.

Database specific
{
    "cna_assigner": "openssl",
    "cwe_ids": [
        "CWE-787"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/69xxx/CVE-2025-69419.json"
}
References

Affected packages

Git / github.com/kzalewski/openssl-1.1.1

Affected ranges

Type
GIT
Repo
https://github.com/kzalewski/openssl-1.1.1
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "1.1.1"
                },
                {
                    "fixed": "1.1.1ze"
                }
            ],
            "source": "CPE_RANGE"
        }
    ]
}
Type
GIT
Repo
https://github.com/openssl/openssl
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "1.1.1"
                },
                {
                    "fixed": "1.1.1ze"
                }
            ],
            "source": "CPE_RANGE"
        },
        {
            "cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "3.0.0"
                },
                {
                    "fixed": "3.0.19"
                }
            ],
            "source": "CPE_RANGE"
        },
        {
            "cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "3.3.0"
                },
                {
                    "fixed": "3.3.6"
                }
            ],
            "source": "CPE_RANGE"
        },
        {
            "cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "3.4.0"
                },
                {
                    "fixed": "3.4.4"
                }
            ],
            "source": "CPE_RANGE"
        },
        {
            "cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "3.5.0"
                },
                {
                    "fixed": "3.5.5"
                }
            ],
            "source": "CPE_RANGE"
        },
        {
            "cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "3.6.0"
                },
                {
                    "fixed": "3.6.1"
                }
            ],
            "source": "CPE_RANGE"
        },
        {
            "range": [
                {
                    "fixed": "41be0f216404f14457bbf3b9cc488dba60b49296"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "range": [
                {
                    "fixed": "7e9cac9832e4705b91987c2474ed06a37a93cecb"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "range": [
                {
                    "fixed": "a26a90d38edec3748566129d824e664b54bee2e2"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "range": [
                {
                    "fixed": "cda12de3bc0e333ea8d2c6fd15001dbdaf280015"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "range": [
                {
                    "fixed": "ff628933755075446bca8307e8417c14d164b535"
                }
            ],
            "source": "REFERENCES_COMMIT"
        }
    ]
}

Affected versions

3.*
3.0-POST-CLANG-FORMAT-WEBKIT
3.0-PRE-CLANG-FORMAT-WEBKIT
3.3-POST-CLANG-FORMAT-WEBKIT
3.3-PRE-CLANG-FORMAT-WEBKIT
3.4-POST-CLANG-FORMAT-WEBKIT
3.4-PRE-CLANG-FORMAT-WEBKIT
3.5-POST-CLANG-FORMAT-WEBKIT
3.5-PRE-CLANG-FORMAT-WEBKIT
3.6-POST-CLANG-FORMAT-WEBKIT
3.6-PRE-CLANG-FORMAT-WEBKIT
openssl-3.*
openssl-3.0.0
openssl-3.0.1
openssl-3.0.10
openssl-3.0.11
openssl-3.0.12
openssl-3.0.13
openssl-3.0.14
openssl-3.0.15
openssl-3.0.16
openssl-3.0.17
openssl-3.0.18
openssl-3.0.2
openssl-3.0.3
openssl-3.0.4
openssl-3.0.5
openssl-3.0.6
openssl-3.0.7
openssl-3.0.8
openssl-3.0.9
openssl-3.3.0
openssl-3.3.1
openssl-3.3.2
openssl-3.3.3
openssl-3.3.4
openssl-3.3.5
openssl-3.4.0
openssl-3.4.1
openssl-3.4.2
openssl-3.4.3
openssl-3.5.0
openssl-3.5.1
openssl-3.5.2
openssl-3.5.3
openssl-3.5.4
openssl-3.6.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-69419.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "156983863095094548535338968955595812811",
                "153238992315641395177665058487653225478",
                "172687070745160318315224274035905216378",
                "27082460365194793330044320421038082754",
                "4460307226245998230485764046985149278"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-00da600a",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/7e9cac9832e4705b91987c2474ed06a37a93cecb",
        "target": {
            "file": "crypto/asn1/a_strex.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "32008225284128195658040746214741547285",
            "length": 1659
        },
        "id": "CVE-2025-69419-0148fae5",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/ff628933755075446bca8307e8417c14d164b535",
        "target": {
            "file": "crypto/asn1/a_strex.c",
            "function": "do_buf"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "156983863095094548535338968955595812811",
                "153238992315641395177665058487653225478",
                "172687070745160318315224274035905216378",
                "27082460365194793330044320421038082754",
                "4460307226245998230485764046985149278"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-0213822e",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/cda12de3bc0e333ea8d2c6fd15001dbdaf280015",
        "target": {
            "file": "crypto/asn1/a_strex.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "32008225284128195658040746214741547285",
            "length": 1659
        },
        "id": "CVE-2025-69419-052d196a",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/a26a90d38edec3748566129d824e664b54bee2e2",
        "target": {
            "file": "crypto/asn1/a_strex.c",
            "function": "do_buf"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "269274151202672217402838615120421249016",
            "length": 733
        },
        "id": "CVE-2025-69419-09d18a1d",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/7e9cac9832e4705b91987c2474ed06a37a93cecb",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c",
            "function": "OPENSSL_uni2utf8"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "8197119098003686502323758297771920675",
                "123570346674886058532594910452998387419",
                "330848004861723585376374210954232885669",
                "125253330896326929862487700185368321824"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-0b816448",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/ff628933755075446bca8307e8417c14d164b535",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "42797208737688127763066522181332281160",
            "length": 507
        },
        "id": "CVE-2025-69419-17161750",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
        "target": {
            "file": "test/ec_internal_test.c",
            "function": "setup_tests"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "32008225284128195658040746214741547285",
            "length": 1659
        },
        "id": "CVE-2025-69419-1a2ca58d",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/41be0f216404f14457bbf3b9cc488dba60b49296",
        "target": {
            "file": "crypto/asn1/a_strex.c",
            "function": "do_buf"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "8197119098003686502323758297771920675",
                "123570346674886058532594910452998387419",
                "330848004861723585376374210954232885669",
                "125253330896326929862487700185368321824"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-20d57666",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/a26a90d38edec3748566129d824e664b54bee2e2",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "156983863095094548535338968955595812811",
                "153238992315641395177665058487653225478",
                "172687070745160318315224274035905216378",
                "27082460365194793330044320421038082754",
                "4460307226245998230485764046985149278"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-22e5ee54",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/ff628933755075446bca8307e8417c14d164b535",
        "target": {
            "file": "crypto/asn1/a_strex.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "181089593633653152713225066183099693737",
                "99982428748013804425025524034573602503",
                "330848004861723585376374210954232885669",
                "125253330896326929862487700185368321824"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-234e393b",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/41be0f216404f14457bbf3b9cc488dba60b49296",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "230361427007416664995616424352791763469",
                "68454496777232705137616949383570055801",
                "174227485603324825134703660955423564225",
                "306374039697804480350160125378658725435",
                "223787537721903344733141597182001711142",
                "305852724676774806958748002571762917320",
                "61902118637910596077004663207701223681",
                "278724473247779637198513168995006009135",
                "150804929727413209120953746872414715465",
                "166774358343717215765245239236385866693",
                "116293081894868411264108492273509366961",
                "326496170417124709669304286305887789679",
                "278306348133167756990680493182074324125",
                "189649085256091224929149730235838635518",
                "82945606976757935725900546138315651129",
                "136187505923069729147869676886657763243",
                "233447734599456461300796481665382809870",
                "116930820689846462220149337293161556595",
                "153181275943870954612030432229689150702",
                "65985025876624501603393736976041980125"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-3349f255",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
        "target": {
            "file": "crypto/bn/bn_gf2m.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "269274151202672217402838615120421249016",
            "length": 733
        },
        "id": "CVE-2025-69419-3fc51a81",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/a26a90d38edec3748566129d824e664b54bee2e2",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c",
            "function": "OPENSSL_uni2utf8"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "269274151202672217402838615120421249016",
            "length": 733
        },
        "id": "CVE-2025-69419-45d0ac02",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/cda12de3bc0e333ea8d2c6fd15001dbdaf280015",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c",
            "function": "OPENSSL_uni2utf8"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "269274151202672217402838615120421249016",
            "length": 733
        },
        "id": "CVE-2025-69419-4eb7055c",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/ff628933755075446bca8307e8417c14d164b535",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c",
            "function": "OPENSSL_uni2utf8"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "30673062630639656303483208802482655434",
            "length": 494
        },
        "id": "CVE-2025-69419-4f7f516c",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
        "target": {
            "file": "crypto/bn/bn_gf2m.c",
            "function": "BN_GF2m_poly2arr"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "8197119098003686502323758297771920675",
                "123570346674886058532594910452998387419",
                "330848004861723585376374210954232885669",
                "125253330896326929862487700185368321824"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-503971c1",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/cda12de3bc0e333ea8d2c6fd15001dbdaf280015",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "194066805760282325851600842112568984438",
            "length": 790
        },
        "id": "CVE-2025-69419-60009940",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/41be0f216404f14457bbf3b9cc488dba60b49296",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c",
            "function": "OPENSSL_uni2utf8"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "8197119098003686502323758297771920675",
                "123570346674886058532594910452998387419",
                "330848004861723585376374210954232885669",
                "125253330896326929862487700185368321824"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-64282a80",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/7e9cac9832e4705b91987c2474ed06a37a93cecb",
        "target": {
            "file": "crypto/pkcs12/p12_utl.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "32008225284128195658040746214741547285",
            "length": 1659
        },
        "id": "CVE-2025-69419-6a40bc63",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/7e9cac9832e4705b91987c2474ed06a37a93cecb",
        "target": {
            "file": "crypto/asn1/a_strex.c",
            "function": "do_buf"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "156983863095094548535338968955595812811",
                "153238992315641395177665058487653225478",
                "172687070745160318315224274035905216378",
                "27082460365194793330044320421038082754",
                "4460307226245998230485764046985149278"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-b5120323",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/41be0f216404f14457bbf3b9cc488dba60b49296",
        "target": {
            "file": "crypto/asn1/a_strex.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "28170854778703993674264004058177114599",
                "73132526844288570625317440636111911761",
                "177405411499435185068645597737938634778",
                "224809958623850711330610094965797758930",
                "295554444428855106393106961197201359586"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-c377fa22",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/e04bd3433fd84e1861bf258ea37928d9845e6a86",
        "target": {
            "file": "include/openssl/opensslv.h"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "156983863095094548535338968955595812811",
                "153238992315641395177665058487653225478",
                "172687070745160318315224274035905216378",
                "27082460365194793330044320421038082754",
                "4460307226245998230485764046985149278"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-e10f6cf8",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/a26a90d38edec3748566129d824e664b54bee2e2",
        "target": {
            "file": "crypto/asn1/a_strex.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "32008225284128195658040746214741547285",
            "length": 1659
        },
        "id": "CVE-2025-69419-e8965605",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/cda12de3bc0e333ea8d2c6fd15001dbdaf280015",
        "target": {
            "file": "crypto/asn1/a_strex.c",
            "function": "do_buf"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "202560716467995180801900703314012126638",
                "231076714992210239911677876085986544653",
                "119476550149019858610160764241585512883",
                "237713134421560846878241190267682686452",
                "291912177671523663250360670212314966717",
                "148718397703357758449784276736258891876",
                "8308956487359903771982894414540058331",
                "219665286569007368979236427780197060159"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-f19f6747",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
        "target": {
            "file": "test/ec_internal_test.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "215474658839038190857768659117172798903",
                "224789752300883698945153787266757617261",
                "56494159630746388130037307952134413004",
                "164370382436795402003615230331141913984",
                "149153318460680570484795927015804201404"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2025-69419-fa870959",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
        "target": {
            "file": "include/openssl/opensslv.h"
        }
    }
]
vanir_signatures_modified
"2026-11-11T13:19:30Z"