{"id":"CVE-2026-9076","summary":"Out-of-Bounds Read in CMS Password-Based Decryption","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-11-11T10:47:31.727144989Z","published":"2026-06-09T16:03:16.306Z","related":["ALSA-2026:25237","ALSA-2026:25239","SUSE-SU-2026:22100-1","SUSE-SU-2026:22132-1","SUSE-SU-2026:22251-1","SUSE-SU-2026:22315-1","SUSE-SU-2026:2392-1","SUSE-SU-2026:2393-1","SUSE-SU-2026:2396-1","SUSE-SU-2026:2397-1","SUSE-SU-2026:2399-1","SUSE-SU-2026:2403-1","SUSE-SU-2026:2404-1","SUSE-SU-2026:2405-1","SUSE-SU-2026:2598-1","SUSE-SU-2026:2614-1","SUSE-SU-2026:2648-1","openSUSE-SU-2026:11023-1","openSUSE-SU-2026:21005-1"],"database_specific":{"cna_assigner":"openssl","cwe_ids":["CWE-125"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/9xxx/CVE-2026-9076.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/9xxx/CVE-2026-9076.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-9076"},{"type":"ADVISORY","url":"https://openssl-library.org/news/secadv/20260609.txt"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/05b066366842f930fadd9a6e94df98030af431bb"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/3d8d5bc1056b2f62da9fede23fedbf47e85187b0"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/715349a1d7c6db970e6815dafb90915f07307f98"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/77bf00ab13f6ff5e516535432f0328ed70ec0c26"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/eecbe330977e8d023aae1ca2d9bdbe983ef3fdc6"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/alsyundawy/openssl-1.0.2","events":[{"introduced":"c46078156d49453ba69badc9addb1e2dcd1c71f5"},{"fixed":"c46078156d49453ba69badc9addb1e2dcd1c71f5"}],"database_specific":{"extracted_events":[{"source":"CPE_RANGE","cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*","range":[{"introduced":"1.0.2"},{"fixed":"1.0.2zq"}]}]}},{"type":"GIT","repo":"https://github.com/kzalewski/openssl-1.1.1","events":[{"introduced":"ddb327ab19b29c64c1752cef26c460ca0b7064ec"},{"fixed":"ddb327ab19b29c64c1752cef26c460ca0b7064ec"}],"database_specific":{"extracted_events":[{"cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*","range":[{"introduced":"1.1.1"},{"fixed":"1.1.1zh"}],"source":"CPE_RANGE"}]}},{"type":"GIT","repo":"https://github.com/openssl/openssl","events":[{"introduced":"e818b74be2170fbe957a07b0da4401c2b694b3b8"},{"fixed":"e818b74be2170fbe957a07b0da4401c2b694b3b8"},{"introduced":"e04bd3433fd84e1861bf258ea37928d9845e6a86"},{"fixed":"e04bd3433fd84e1861bf258ea37928d9845e6a86"},{"introduced":"89cd17a031e022211684eb7eb41190cf1910f9fa"},{"fixed":"51ea949dc1436e865935b47874b21a3bb31a102e"},{"introduced":"98acb6b02839c609ef5b837794e08d906d965335"},{"fixed":"c5ea1cc227fd60afae8ac4b9438690bbe4888f79"},{"introduced":"636dfadc70ce26f2473870570bfd9ec352806b1d"},{"fixed":"8cf17aaeb4599f8af87fefd810b5b5fee90fe69e"},{"introduced":"7b371d80d959ec9ab4139d09d78e83c090de9779"},{"fixed":"aae016bfd52fcad2bc9657c2c782cfdf73b1ed5f"},{"introduced":"11b7b6ea3b65a584e1d31408ed1bdb139465cffd"},{"fixed":"05b066366842f930fadd9a6e94df98030af431bb"},{"fixed":"3d8d5bc1056b2f62da9fede23fedbf47e85187b0"},{"fixed":"715349a1d7c6db970e6815dafb90915f07307f98"},{"fixed":"77bf00ab13f6ff5e516535432f0328ed70ec0c26"},{"fixed":"eecbe330977e8d023aae1ca2d9bdbe983ef3fdc6"}],"database_specific":{"extracted_events":[{"source":"CPE_RANGE","cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*","range":[{"introduced":"1.0.2"},{"fixed":"1.0.2zq"}]},{"source":"CPE_RANGE","cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*","range":[{"introduced":"1.1.1"},{"fixed":"1.1.1zh"}]},{"range":[{"introduced":"3.0.0"},{"fixed":"3.0.21"}],"source":"CPE_RANGE","cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*"},{"cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*","range":[{"introduced":"3.4.0"},{"fixed":"3.4.6"}],"source":"CPE_RANGE"},{"cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*","range":[{"introduced":"3.5.0"},{"fixed":"3.5.7"}],"source":"CPE_RANGE"},{"source":"CPE_RANGE","cpe":"cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*","range":[{"introduced":"3.6.0"},{"fixed":"3.6.3"}]},{"range":[{"introduced":"4.0.0-NA"},{"last_affected":"4.0.0-NA"}],"source":"CPE_STRING","cpe":"cpe:2.3:a:openssl:openssl:4.0.0:-:*:*:*:*:*:*"},{"range":[{"fixed":"05b066366842f930fadd9a6e94df98030af431bb"}],"source":"REFERENCES_COMMIT"},{"range":[{"fixed":"3d8d5bc1056b2f62da9fede23fedbf47e85187b0"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"715349a1d7c6db970e6815dafb90915f07307f98"}]},{"range":[{"fixed":"77bf00ab13f6ff5e516535432f0328ed70ec0c26"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"eecbe330977e8d023aae1ca2d9bdbe983ef3fdc6"}]}]}}],"versions":["4.0.0-NA","openssl-4.0.0","openssl-3.0.20","openssl-3.4.5","openssl-3.5.6","openssl-3.6.2","openssl-3.0.19","openssl-3.4.4","openssl-3.5.5","openssl-3.6.1","3.4-POST-CLANG-FORMAT-WEBKIT","3.0-POST-CLANG-FORMAT-WEBKIT","3.4-PRE-CLANG-FORMAT-WEBKIT","3.5-POST-CLANG-FORMAT-WEBKIT","3.0-PRE-CLANG-FORMAT-WEBKIT","3.5-PRE-CLANG-FORMAT-WEBKIT","3.6-POST-CLANG-FORMAT-WEBKIT","3.6-PRE-CLANG-FORMAT-WEBKIT","openssl-3.6.0","openssl-3.0.18","openssl-3.4.3","openssl-3.5.4","openssl-3.5.3","openssl-3.5.2","openssl-3.0.17","openssl-3.4.2","openssl-3.5.1","openssl-3.5.0","openssl-3.0.16","openssl-3.4.1","openssl-3.4.0","openssl-3.0.15","openssl-3.0.14","openssl-3.0.13","openssl-3.0.12","openssl-3.0.11","openssl-3.0.10","openssl-3.0.9","openssl-3.0.8","openssl-3.0.7","openssl-3.0.6","openssl-3.0.5","openssl-3.0.4","openssl-3.0.3","openssl-3.0.2","openssl-3.0.1","openssl-3.0.0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-9076.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}