p PatchFirst

CVE-2026-32144

CVE-2026-32144 · OCSP designated-responder authorization bypass via missing signature verification

This page contains facts from public vulnerability sources. Check the original advisory before updating.

Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_ocsp module) allows OCSP designated-responder authorization bypass via missing signature verification. The OCSP response validation in public_key:pkix_ocsp_validate/5 does not verify that a CA-designated responder certificate was cryptographically signed by the issuing CA. Instead, it only checks that the responder certificate's issuer name matches the CA's subject name and that the certificate has the OCSPSigning extended key usage. An attacker who can intercept or control OCSP responses can create a self-signed certificate with a matching issuer name and the OCSPSigning EKU, and use it to forge OCSP responses that mark revoked certificates as valid. This affects SSL/TLS clients using OCSP stapling, which may accept connections to servers with revoked certificates, potentially transmitting sensitive data to compromised servers. Applications using the public_key:pkix_ocsp_validate/5 API directly are also affected, with impact depending on usage context. This vulnerability is associated with program files lib/public_key/src/pubkey_ocsp.erl and program routines pubkey_ocsp:is_authorized_responder/3. This issue affects OTP from OTP 27.0 before OTP 28.4.2 and OTP 27.3.4.10, corresponding to public_key from 1.16 before 1.20.3 and 1.17.1.2, and ssl from 11.2 before 11.5.4 and 11.2.12.7.

CVSS 7.6 · High · EPSS 0.3% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • erlang

    Versions
    • ≥ 1.16: Affected; ≥ 1.20.3: Not affected; ≥ 1.17.1.2: Not affected (otp)

    Update to 1.17.1.2

  • erlang

    Versions
    • ≥ 11.2: Affected; ≥ 11.5.4: Not affected; ≥ 11.2.12.7: Not affected (otp)

    Update to 11.2.12.7

  • erlang

    Versions
    • ≥ 27.0: Affected; ≥ 28.4.2: Not affected; ≥ 27.3.4.10: Not affected (otp)
    • ≥ 601a012837ea0a5c8095bf24223132824177124d: Affected; ≥ ac7ff528be857c5d35eb29c7f24106e3a16d4891: Not affected; ≥ 49033a6d93a5be0ee0dce04e1fb8b4ae7de1e0c0: Not affected (git)

    Update to 27.3.4.10

  • erlang Debian:13

    Versions
    • 1:27.3.4.1+dfsg-1
    • 1:27.3.4.1+dfsg-1+deb13u1
    • 1:27.3.4.1+dfsg-1+deb13u2
    Affected ranges
    • ECOSYSTEM: < 1:27.3.4.1+dfsg-1+deb13u3

    Update to 1:27.3.4.1+dfsg-1+deb13u3

  • erlang Debian:14

    Versions
    • 1:27.3.4.1+dfsg-1
    • 1:27.3.4.3+dfsg-1
    • 1:27.3.4.4+dfsg-1
    • 1:27.3.4.6+dfsg-1
    • 1:27.3.4.8+dfsg-1
    • 1:27.3.4.9+dfsg-1
    Affected ranges
    • ECOSYSTEM: < 1:27.3.4.10+dfsg-1

    Update to 1:27.3.4.10+dfsg-1

  • erlang Ubuntu:25.10

    Versions
    • 1:27.3+dfsg-1ubuntu1
    • 1:27.3+dfsg-1ubuntu1.1
    • 1:27.3.4.1+dfsg-1
    • 1:27.3.4.1+dfsg-1build1
    • 1:27.3.4.1+dfsg-1ubuntu0.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • erlang Ubuntu:26.04:LTS

    Versions
    • 1:27.3.4.1+dfsg-1build1
    • 1:27.3.4.3+dfsg-1
    • 1:27.3.4.4+dfsg-1
    • 1:27.3.4.6+dfsg-1
    • 1:27.3.4.6+dfsg-1ubuntu0.1
    Affected ranges
    • ECOSYSTEM: < 1:27.3.4.6+dfsg-1ubuntu0.2

    Update to 1:27.3.4.6+dfsg-1ubuntu0.2

Original sources

Check your server →