{"id":"ALPINE-CVE-2026-9076","details":"Issue summary: When CMS password-based decryption (RFC 3211 / PWRI key unwrap)\nprocesses attacker-supplied CMS data, an attacker-chosen stream-mode KEK\ncipher can trigger a heap out-of-bounds read in kek_unwrap_key().\n\nImpact summary: A heap buffer over-read may trigger a crash which leads to\nDenial of Service for an application if the input buffer ends at a memory\npage boundary and the following page is unmapped. There is no information\ndisclosure as the over-read bytes are not revealed to the attacker.\n\nThe key unwrapping function performs a check-byte test as specified in the\nRFC that reads 7 bytes from a heap allocation that is based on the wrapped\nkey length from the message. There is a minimum length check based on the\nblock length of the wrapping cipher. However the cipher is selected from\nan OID carried in the attacker's PWRI keyEncryptionAlgorithm with no\nrequirement that the cipher be a block cipher. When an attacker selects\na stream-mode cipher the guard will be ineffective and the allocated buffer\ncontaining the unwrapped key can be too small to fit the check-bytes\nspecified in the RFC and a buffer over-read can happen.\n\nApplications calling CMS_decrypt() or CMS_decrypt_set1_password()\n(equivalently openssl cms -decrypt -pwri_password ...) on untrusted CMS\ndata are vulnerable to this issue. No password knowledge is required: the\nover-read happens during the unwrap attempt before any authentication\nsucceeds.\n\nThe over-read is limited to a few bytes and is not written to output, so\nthere is no information disclosure. Triggering a crash requires the\nallocation to border unmapped memory, which is unlikely with the normal\nallocator.\n\nThe FIPS modules are not affected by this issue.","modified":"2026-09-17T17:30:02.484850908Z","published":"2026-06-09T17:17:50.997Z","upstream":["CVE-2026-9076"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2026-9076"}],"affected":[{"package":{"name":"openssl","ecosystem":"Alpine:v3.21","purl":"pkg:apk/alpine/openssl?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.2"},{"fixed":"3.3.7-r1"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2026-9076.json"}},{"package":{"name":"openssl","ecosystem":"Alpine:v3.22","purl":"pkg:apk/alpine/openssl?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.2"},{"fixed":"3.5.7-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2026-9076.json"}},{"package":{"name":"openssl","ecosystem":"Alpine:v3.23","purl":"pkg:apk/alpine/openssl?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.2"},{"fixed":"3.5.7-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2026-9076.json"}},{"package":{"name":"openssl","ecosystem":"Alpine:v3.24","purl":"pkg:apk/alpine/openssl?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.2"},{"fixed":"3.5.7-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2026-9076.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}