{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-32144","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-04-07T13:15:14.355759Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-04-07T13:15:20.530Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"cpes":["cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"],"defaultStatus":"unknown","modules":["pubkey_ocsp"],"packageName":"public_key","packageURL":"pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git","product":"OTP","programFiles":["src/pubkey_ocsp.erl"],"programRoutines":[{"name":"pubkey_ocsp:is_authorized_responder/3"}],"repo":"https://github.com/erlang/otp","vendor":"Erlang","versions":[{"changes":[{"at":"1.20.3","status":"unaffected"},{"at":"1.17.1.2","status":"unaffected"}],"lessThan":"*","status":"affected","version":"1.16","versionType":"otp"}]},{"cpes":["cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"],"defaultStatus":"unknown","modules":["ssl_stapling"],"packageName":"ssl","packageURL":"pkg:otp/ssl?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git","product":"OTP","programFiles":["src/ssl_stapling.erl"],"repo":"https://github.com/erlang/otp","vendor":"Erlang","versions":[{"changes":[{"at":"11.5.4","status":"unaffected"},{"at":"11.2.12.7","status":"unaffected"}],"lessThan":"*","status":"affected","version":"11.2","versionType":"otp"}]},{"collectionURL":"https://github.com","cpes":["cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"],"defaultStatus":"unknown","modules":["pubkey_ocsp"],"packageName":"erlang/otp","packageURL":"pkg:github/erlang/otp","product":"OTP","programFiles":["lib/public_key/src/pubkey_ocsp.erl"],"programRoutines":[{"name":"pubkey_ocsp:is_authorized_responder/3"}],"repo":"https://github.com/erlang/otp","vendor":"Erlang","versions":[{"changes":[{"at":"28.4.2","status":"unaffected"},{"at":"27.3.4.10","status":"unaffected"}],"lessThan":"*","status":"affected","version":"27.0","versionType":"otp"},{"changes":[{"at":"ac7ff528be857c5d35eb29c7f24106e3a16d4891","status":"unaffected"},{"at":"49033a6d93a5be0ee0dce04e1fb8b4ae7de1e0c0","status":"unaffected"}],"lessThan":"*","status":"affected","version":"601a012837ea0a5c8095bf24223132824177124d","versionType":"git"}]}],"configurations":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"SSL/TLS must be configured with OCSP stapling enabled (e.g., <tt>{stapling, staple}</tt>), or the application must call <tt>public_key:pkix_ocsp_validate/5</tt> directly. OCSP stapling is disabled by default (<tt>{stapling, no_staple}</tt>)."}],"value":"SSL/TLS must be configured with OCSP stapling enabled (e.g., {stapling, staple}), or the application must call public_key:pkix_ocsp_validate/5 directly. OCSP stapling is disabled by default ({stapling, no_staple})."}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionEndExcluding":"27.3.4.10","versionStartIncluding":"27.0","vulnerable":true},{"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionEndExcluding":"28.4.2","versionStartIncluding":"28.0","vulnerable":true}],"negate":false,"operator":"OR"}],"operator":"AND"}],"credits":[{"lang":"en","type":"reporter","value":"Igor Morgenstern / Aisle Research"},{"lang":"en","type":"remediation developer","value":"Jakub Witczak"},{"lang":"en","type":"remediation reviewer","value":"Ingela Anderton Andin"}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_ocsp module) allows OCSP designated-responder authorization bypass via missing signature verification.<p>The OCSP response validation in <tt>public_key:pkix_ocsp_validate/5</tt> 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.</p><p>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 <tt>public_key:pkix_ocsp_validate/5</tt> API directly are also affected, with impact depending on usage context.</p><p>This vulnerability is associated with program files <tt>lib/public_key/src/pubkey_ocsp.erl</tt> and program routines <tt>pubkey_ocsp:is_authorized_responder/3</tt>.</p><p>This issue affects OTP from OTP 27.0 until OTP 28.4.2 and 27.3.4.10 corresponding to public_key from 1.16 until 1.20.3 and 1.17.1.2, and ssl from 11.2 until 11.5.4 and 11.2.12.7.</p>"}],"value":"Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_ocsp module) allows OCSP designated-responder authorization bypass via missing signature verification.\n\nThe 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.\n\nThis 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.\n\nThis vulnerability is associated with program files lib/public_key/src/pubkey_ocsp.erl and program routines pubkey_ocsp:is_authorized_responder/3.\n\nThis issue affects OTP from OTP 27.0 until OTP 28.4.2 and 27.3.4.10 corresponding to public_key from 1.16 until 1.20.3 and 1.17.1.2, and ssl from 11.2 until 11.5.4 and 11.2.12.7."}],"impacts":[{"capecId":"CAPEC-459","descriptions":[{"lang":"en","value":"CAPEC-459 Creating a Rogue Certification Authority Certificate"}]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":7.6,"baseSeverity":"HIGH","exploitMaturity":"NOT_DEFINED","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"LOW","subIntegrityImpact":"LOW","userInteraction":"PASSIVE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-295","description":"CWE-295 Improper Certificate Validation","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-04-07T14:38:03.763Z","orgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","shortName":"EEF"},"references":[{"tags":["vendor-advisory","related"],"url":"https://github.com/erlang/otp/security/advisories/GHSA-gxrm-pf64-99xm"},{"tags":["related"],"url":"https://cna.erlef.org/cves/CVE-2026-32144.html"},{"tags":["related"],"url":"https://osv.dev/vulnerability/EEF-CVE-2026-32144"},{"tags":["x_version-scheme"],"url":"https://www.erlang.org/doc/system/versions.html#order-of-versions"},{"tags":["patch"],"url":"https://github.com/erlang/otp/commit/ac7ff528be857c5d35eb29c7f24106e3a16d4891"},{"tags":["patch"],"url":"https://github.com/erlang/otp/commit/49033a6d93a5be0ee0dce04e1fb8b4ae7de1e0c0"}],"source":{"discovery":"EXTERNAL"},"title":"OCSP designated-responder authorization bypass via missing signature verification","workarounds":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<p><b>For SSL users:</b></p><ul><li>Do not enable OCSP validation setting (current default is <tt>{stapling, no_staple}</tt>)</li><li>Use CRL-based revocation checking by setting the <tt>{crl_check, true}</tt> SSL option instead</li></ul><p><b>For applications using <tt>public_key:pkix_ocsp_validate/5</tt> directly:</b></p><ul><li>Pass <tt>{is_trusted_responder_fun, Fun}</tt> option with a function that validates trusted responder certificates</li><li>Restrict OCSP responder access to trusted endpoints via network controls (only applicable if you control the OCSP infrastructure)</li></ul>"}],"value":"For SSL users:\n\n* Do not enable OCSP validation setting (current default is {stapling, no_staple})\n* Use CRL-based revocation checking by setting the {crl_check, true} SSL option instead\n\nFor applications using public_key:pkix_ocsp_validate/5 directly:\n\n* Pass {is_trusted_responder_fun, Fun} option with a function that validates trusted responder certificates\n* Restrict OCSP responder access to trusted endpoints via network controls (only applicable if you control the OCSP infrastructure)"}],"x_generator":{"engine":"Vulnogram 0.2.0"}}},"cveMetadata":{"assignerOrgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","assignerShortName":"EEF","cveId":"CVE-2026-32144","datePublished":"2026-04-07T12:28:00.767Z","dateReserved":"2026-03-10T22:37:29.212Z","dateUpdated":"2026-04-07T14:38:03.763Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"}