erlang — security advisory
Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_ocsp module) allows forged OCSP responses signed with an expired responder certificate to be accepted as valid. OCSP response verification in pubkey_ocsp:verify_response/5 and pubkey_ocsp:is_authorized_responder/3 in lib/public_key/src/pubkey_ocsp.erl does not check the validity period (notBefore/notAfter) of the OCSP responder certificate. An attacker who has obtained the private key of an expired CA-designated OCSP responder certificate can forge OCSP responses that Erlang/OTP accepts as valid. This affects TLS clients using OCSP stapling via the ssl application: a malicious or compromised server can present a revoked TLS certificate together with a forged OCSP response signed by an expired responder key, and the client will accept the revoked certificate as valid. It also affects applications calling public_key:pkix_ocsp_validate/5 directly, where the impact depends on the use case — server-side client certificate validation using this API may allow authentication bypass with a revoked client certificate. This issue affects OTP from OTP 27.0 before OTP 29.0.1, OTP 28.5.0.1 and OTP 27.3.4.12, corresponding to public_key from 1.16 before 1.21.1, 1.20.3.1 and 1.17.1.3.
- Products
- erlang
- Affected versions
- 1:27.3.4.1+dfsg-1, 1:27.3.4.1+dfsg-1+deb13u1, 1:27.3.4.1+dfsg-1+deb13u2, 1:27.3.4.10+dfsg-1, 1:27.3.4.11+dfsg-1, 1:27.3.4.11+dfsg-2, 1:27.3.4.11+dfsg-3, 1:27.3.4.11+dfsg-4, 1:27.3.4.11+dfsg-5, 1:27.3.4.11+dfsg-6, 1:27.3.4.11+dfsg-7, 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
- Fixed versions
- 1:27.3.4.1+dfsg-1+deb13u3, 1:27.3.4.12+dfsg-1
- CVEs
- CVE-2026-42791
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 17:48 UTC · Revision 2
Source evidence
Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_ocsp module) allows forged OCSP responses signed with an expired responder certificate to be accepted as valid. OCSP response verification in pubkey_ocsp:verify_response/5 and pubkey_ocsp:is_authorized_responder/3 in lib/public_key/src/pubkey_ocsp.erl does not check the validity period (notBefore/notAfter) of the OCSP responder certificate. An attacker who has obtained the private key of an expired CA-designated OCSP responder certificate can forge OCSP responses that Erlang/OTP accepts as valid. This affects TLS clients using OCSP stapling via the ssl application: a malicious or compromised server can present a revoked TLS certificate together with a forged OCSP response signed by an expired responder key, and the client will accept the revoked certificate as valid. It also affects applications calling public_key:pkix_ocsp_validate/5 directly, where the impact depends on the use case — server-side client certificate validation using this API may allow authentication bypass with a revoked client certificate. This issue affects OTP from OTP 27.0 before OTP 29.0.1, OTP 28.5.0.1 and OTP 27.3.4.12, corresponding to public_key from 1.16 before 1.21.1, 1.20.3.1 and 1.17.1.3.
osv:DEBIAN-CVE-2026-42791
erlang
Fixed versions: 1:27.3.4.1+dfsg-1+deb13u3
erlang
Fixed versions: 1:27.3.4.12+dfsg-1
Complete source record
{
"id": "4825907e5c77f4ae8ea04f0854420bd63d0ab9a04da1d86caaaaca1f1df4c04d",
"url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-42791",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DEBIAN-CVE-2026-42791",
"summary": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_ocsp module) allows forged OCSP responses signed with an expired responder certificate to be accepted as valid. OCSP response verification in pubkey_ocsp:verify_response/5 and pubkey_ocsp:is_authorized_responder/3 in lib/public_key/src/pubkey_ocsp.erl does not check the validity period (notBefore/notAfter) of the OCSP responder certificate. An attacker who has obtained the private key of an expired CA-designated OCSP responder certificate can forge OCSP responses that Erlang/OTP accepts as valid. This affects TLS clients using OCSP stapling via the ssl application: a malicious or compromised server can present a revoked TLS certificate together with a forged OCSP response signed by an expired responder key, and the client will accept the revoked certificate as valid. It also affects applications calling public_key:pkix_ocsp_validate/5 directly, where the impact depends on the use case — server-side client certificate validation using this API may allow authentication bypass with a revoked client certificate. This issue affects OTP from OTP 27.0 before OTP 29.0.1, OTP 28.5.0.1 and OTP 27.3.4.12, corresponding to public_key from 1.16 before 1.21.1, 1.20.3.1 and 1.17.1.3.",
"evidence": "osv:DEBIAN-CVE-2026-42791",
"products": [
{
"name": {
"value": "erlang",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1:27.3.4.1+dfsg-1+deb13u3",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": [
{
"value": "1:27.3.4.1+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "1:27.3.4.1+dfsg-1+deb13u1",
"evidence": "/affected/0/versions"
},
{
"value": "1:27.3.4.1+dfsg-1+deb13u2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "erlang",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1:27.3.4.12+dfsg-1",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": [
{
"value": "1:27.3.4.1+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.10+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.11+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.11+dfsg-2",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.11+dfsg-3",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.11+dfsg-4",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.11+dfsg-5",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.11+dfsg-6",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.11+dfsg-7",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.3+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.4+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.6+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.8+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:27.3.4.9+dfsg-1",
"evidence": "/affected/1/versions"
}
]
}
],
"severity": "low",
"structured": {
"id": "DEBIAN-CVE-2026-42791",
"aliases": [
"DEBIAN-CVE-2026-42791"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "1:27.3.4.1+dfsg-1+deb13u3"
}
]
}
],
"package": {
"name": "erlang",
"purl": "pkg:deb/debian/erlang?arch=source&distro=trixie",
"ecosystem": "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"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-42791.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "1:27.3.4.12+dfsg-1"
}
]
}
],
"package": {
"name": "erlang",
"purl": "pkg:deb/debian/erlang?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"1:27.3.4.1+dfsg-1",
"1:27.3.4.10+dfsg-1",
"1:27.3.4.11+dfsg-1",
"1:27.3.4.11+dfsg-2",
"1:27.3.4.11+dfsg-3",
"1:27.3.4.11+dfsg-4",
"1:27.3.4.11+dfsg-5",
"1:27.3.4.11+dfsg-6",
"1:27.3.4.11+dfsg-7",
"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"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-42791.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
}
],
"modified": "2026-10-27T09:47:38.586053806Z",
"provider": "osv",
"upstream": [
"CVE-2026-42791"
],
"references": [
"https://security-tracker.debian.org/tracker/CVE-2026-42791"
]
},
"related_cves": [
{
"value": "CVE-2026-42791",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 461214,
"published_at": "2026-05-27T14:16:53.46+00:00"
}