{"id":"CVE-2026-95691","summary":"Retransmitted QUIC CRYPTO Frames Can Cause DoS or One-byte Disclosure","details":"Issue summary: A retransmitted QUIC CRYPTO frame can release packet storage\nwhile the TLS record layer retains a direct pointer into that storage causing\nuse after free.\n\nImpact summary: A malicious QUIC server can cause a heap-use-after-free read\nin the OpenSSL QUIC client. The server can also identify one allocator-adjacent\nbyte through the client's protected Handshake response.\n\nCWE: CWE-416: Use After Free\n\nDescription: During CRYPTO stream processing, a pointer into the first frame's\nmemory on the stream is lent to the TLS handshake processing. The memory\nmust remain stable until it is processed and released. However the processing\nof retransmitted CRYPTO frames could release the memory if the retransmitted\nframe fully overlapped the existing frame. This then causes use-after-free read\nwhen the TLS handshake processing continues.\n\nThe use-after-free read can lead to a Denial-of-Service of the client\napplication or a minor leak of information about the heap memory contents\nthat might be overwritten with other data, subsequently allocated by\nthe application, to the peer.\n\nFIPS impact: no\nThe FIPS module is not affected as the QUIC implementation is outside of\nthe OpenSSL FIPS module boundary.","modified":"2026-11-12T07:07:30.363620226Z","published":"2026-11-10T18:16:03.752Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/95xxx/CVE-2026-95691.json","unresolved_ranges":[{"extracted_events":[{"source":"AFFECTED_FIELD","strategy":"StandardRange","range":[{"introduced":"4.1.0"},{"fixed":"4.1.1"},{"introduced":"4.0.0"},{"fixed":"4.0.4"},{"introduced":"3.5.0"},{"fixed":"3.5.10"}]}]}],"cna_assigner":"openssl","cwe_ids":["CWE-416"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/95xxx/CVE-2026-95691.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-95691"},{"type":"ADVISORY","url":"https://openssl-library.org/news/secadv/20261110.txt"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386"},{"type":"FIX","url":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/openssl/openssl","events":[{"introduced":"0"},{"fixed":"dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1"},{"fixed":"ec9d4de9d03989b29db5a3d7efdb4c285deaf386"},{"fixed":"f6244675833e097c2429a40d1b206d95385bd42f"}],"database_specific":{"extracted_events":[{"range":[{"fixed":"dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"ec9d4de9d03989b29db5a3d7efdb4c285deaf386"}]},{"source":"REFERENCES_COMMIT","range":[{"fixed":"f6244675833e097c2429a40d1b206d95385bd42f"}]}]}}],"versions":["openssl-4.1.0","openssl-4.1.0-beta2","openssl-3.5.9","openssl-4.0.3","openssl-4.1.0-beta1","openssl-4.1.0-alpha1","openssl-3.5.8","openssl-4.0.2","openssl-3.5.7","openssl-4.0.1","openssl-4.0.0","openssl-3.5.6","openssl-4.0.0-beta1","openssl-4.0.0-alpha1","openssl-3.5.5","3.5-POST-CLANG-FORMAT-WEBKIT","3.5-PRE-CLANG-FORMAT-WEBKIT","4.0-POST-CLANG-FORMAT-WEBKIT","4.0-PRE-CLANG-FORMAT-WEBKIT","openssl-3.5.4","openssl-3.5.3","openssl-3.5.2","openssl-3.5.1","openssl-3.5.0","openssl-3.5.0-beta1","openssl-3.5.0-alpha1","openssl-3.4.0-alpha1","openssl-3.2.0-alpha2","openssl-3.2.0-alpha1","openssl-3.0.0-beta2","openssl-3.0.0-beta1","openssl-3.0.0-alpha17","openssl-3.0.0-alpha16","openssl-3.0.0-alpha15","openssl-3.0.0-alpha14","openssl-3.0.0-alpha13","openssl-3.0.0-alpha12","openssl-3.0.0-alpha11","openssl-3.0.0-alpha10","openssl-3.0.0-alpha9","openssl-3.0.0-alpha8","openssl-3.0.0-alpha7","openssl-3.0.0-alpha6","openssl-3.0.0-alpha5","openssl-3.0.0-alpha4","openssl-3.0.0-alpha3","openssl-3.0.0-alpha2","openssl-3.0.0-alpha1","OpenSSL_1_1_1","OpenSSL_1_1_1-pre9","OpenSSL_1_1_1-pre8","OpenSSL_1_1_1-pre7","OpenSSL_1_1_1-pre6","OpenSSL_1_1_1-pre5","OpenSSL_1_1_1-pre4","OpenSSL_1_1_1-pre3","OpenSSL_1_1_1-pre2","OpenSSL_1_1_1-pre1","OpenSSL_1_1_0-pre6","OpenSSL_1_1_0-pre5","OpenSSL_1_1_0-pre4","OpenSSL_1_1_0-pre3","OpenSSL_1_1_0-pre2","OpenSSL_1_1_0-pre1","master-post-reformat","master-post-auto-reformat","master-pre-auto-reformat","master-pre-reformat","BEFORE_engine","OpenSSL_0_9_6-beta3","OpenSSL_0_9_5a","OpenSSL_0_9_5a-beta2","OpenSSL_0_9_5a-beta1","OpenSSL_0_9_5beta2","OpenSSL_0_9_5beta1","OpenSSL_0_9_4","OpenSSL_0_9_3a","OpenSSL_0_9_3","OpenSSL_0_9_3beta2","OpenSSL_0_9_2b","OpenSSL_0_9_1c"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-95691.json","vanir_signatures":[{"deprecated":false,"digest":{"function_hash":"281507628111372938163312117563257714678","length":757},"id":"CVE-2026-95691-129aca90","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1","target":{"function":"ossl_quic_rstream_get_record","file":"ssl/quic/quic_rstream.c"}},{"target":{"file":"ssl/quic/quic_rstream.c"},"deprecated":false,"digest":{"line_hashes":["337532848169811819713507322500901457220","117488088680632526077899275660332083928","27171778086867925355800559220157539105","242725576314168574099947238718193354924","177826699598872197593703018898603686655","273409241663500460045924244658629066280","297284193697515460374622151074135378204","193623468992794951564579422198782131437","266283937327745078817706343838672017566","163516744740676298834772360829058721941","194755881191102225311239841229646867328","30808342220207066251725370388775602088","28327948172053847838095315253749975256"],"threshold":0.9},"id":"CVE-2026-95691-243a0241","signature_type":"Line","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f"},{"digest":{"line_hashes":["91806962366979551246019119216089320014","242043148712723642778986156913917419323","253071197177219502882630316480210293599","120157287676772691932870815208315530167","126715514809307429457427388160427391604","112788039189498109025639636190620132478","68724584330058937133586208365655544953","288850338176712272769664293631858883363","211090977260866709392261254588059554978"],"threshold":0.9},"id":"CVE-2026-95691-3a8e0b33","signature_type":"Line","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"file":"ssl/quic/quic_strm_reas.c"},"deprecated":false},{"signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f","target":{"file":"ssl/quic/quic_strm_reas.c","function":"ossl_sframe_set_move_offset"},"deprecated":false,"digest":{"length":1514,"function_hash":"297460851814775457019057221731361851465"},"id":"CVE-2026-95691-3e265782","signature_type":"Function"},{"digest":{"function_hash":"177595594322692520037454304827186660380","length":449},"id":"CVE-2026-95691-3ef94cc0","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f","target":{"file":"ssl/quic/quic_rstream.c","function":"ossl_quic_rstream_release_record"},"deprecated":false},{"deprecated":false,"digest":{"length":314,"function_hash":"308762008190389962222966418438606317501"},"id":"CVE-2026-95691-403b1eaf","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1","target":{"file":"ssl/quic/quic_rstream.c","function":"ossl_quic_rstream_read"}},{"id":"CVE-2026-95691-46265c1f","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1","target":{"file":"ssl/quic/quic_rstream.c","function":"ossl_quic_rstream_release_record"},"deprecated":false,"digest":{"length":449,"function_hash":"177595594322692520037454304827186660380"}},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1","target":{"file":"ssl/quic/quic_strm_reas.c","function":"ossl_sframe_set_move_offset"},"deprecated":false,"digest":{"function_hash":"297460851814775457019057221731361851465","length":1514},"id":"CVE-2026-95691-5181dd1b"},{"id":"CVE-2026-95691-5546cc7f","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"file":"ssl/quic/quic_rstream.c","function":"ossl_quic_rstream_release_record"},"deprecated":false,"digest":{"function_hash":"177595594322692520037454304827186660380","length":449}},{"signature_type":"Line","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f","target":{"file":"include/internal/quic_strm_reas.h"},"deprecated":false,"digest":{"line_hashes":["70773058772123886737255428292211462973","140093985579909921150448261810695196793","255710743085613727868179767442791962190","295196883450884570308397310150792033499","37382954290418743792969372450028702663","137302240832677319531801253265877000631","105820644018548011718340953637707551984"],"threshold":0.9},"id":"CVE-2026-95691-55f6295b"},{"source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1","target":{"file":"include/internal/quic_strm_reas.h"},"deprecated":false,"digest":{"line_hashes":["70773058772123886737255428292211462973","140093985579909921150448261810695196793","255710743085613727868179767442791962190","295196883450884570308397310150792033499","37382954290418743792969372450028702663","137302240832677319531801253265877000631","105820644018548011718340953637707551984"],"threshold":0.9},"id":"CVE-2026-95691-5f6b5409","signature_type":"Line","signature_version":"v1"},{"target":{"file":"ssl/quic/quic_strm_reas.c"},"deprecated":false,"digest":{"line_hashes":["91806962366979551246019119216089320014","242043148712723642778986156913917419323","253071197177219502882630316480210293599","120157287676772691932870815208315530167","126715514809307429457427388160427391604","112788039189498109025639636190620132478","68724584330058937133586208365655544953","288850338176712272769664293631858883363","211090977260866709392261254588059554978"],"threshold":0.9},"id":"CVE-2026-95691-650b0a4a","signature_type":"Line","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f"},{"id":"CVE-2026-95691-83bbaebe","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"function":"ossl_sframe_set_insert","file":"ssl/quic/quic_strm_reas.c"},"deprecated":false,"digest":{"function_hash":"244719788554341712572317084789261552751","length":5321}},{"id":"CVE-2026-95691-8f004145","signature_type":"Line","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"file":"include/internal/quic_strm_reas.h"},"deprecated":false,"digest":{"line_hashes":["70773058772123886737255428292211462973","140093985579909921150448261810695196793","255710743085613727868179767442791962190","295196883450884570308397310150792033499","37382954290418743792969372450028702663","137302240832677319531801253265877000631","105820644018548011718340953637707551984"],"threshold":0.9}},{"id":"CVE-2026-95691-953c8574","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f","target":{"file":"ssl/quic/quic_rstream.c","function":"ossl_quic_rstream_read"},"deprecated":false,"digest":{"function_hash":"308762008190389962222966418438606317501","length":314}},{"target":{"file":"ssl/quic/quic_rstream.c"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["337532848169811819713507322500901457220","117488088680632526077899275660332083928","27171778086867925355800559220157539105","242725576314168574099947238718193354924","177826699598872197593703018898603686655","273409241663500460045924244658629066280","297284193697515460374622151074135378204","193623468992794951564579422198782131437","266283937327745078817706343838672017566","163516744740676298834772360829058721941","194755881191102225311239841229646867328","30808342220207066251725370388775602088","28327948172053847838095315253749975256"]},"id":"CVE-2026-95691-9cfd06ba","signature_type":"Line","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1"},{"signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f","target":{"file":"ssl/quic/quic_rstream.c","function":"ossl_quic_rstream_get_record"},"deprecated":false,"digest":{"function_hash":"281507628111372938163312117563257714678","length":757},"id":"CVE-2026-95691-b2303e8e","signature_type":"Function"},{"signature_version":"v1","source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1","target":{"file":"ssl/quic/quic_strm_reas.c"},"deprecated":false,"digest":{"line_hashes":["91806962366979551246019119216089320014","242043148712723642778986156913917419323","253071197177219502882630316480210293599","120157287676772691932870815208315530167","126715514809307429457427388160427391604","112788039189498109025639636190620132478","68724584330058937133586208365655544953","288850338176712272769664293631858883363","211090977260866709392261254588059554978"],"threshold":0.9},"id":"CVE-2026-95691-cf88dc24","signature_type":"Line"},{"signature_version":"v1","source":"https://github.com/openssl/openssl/commit/dd90ceb99a3c2ddba336bb4a00be9ebabd84c2a1","target":{"file":"ssl/quic/quic_strm_reas.c","function":"ossl_sframe_set_insert"},"deprecated":false,"digest":{"function_hash":"244719788554341712572317084789261552751","length":5321},"id":"CVE-2026-95691-d36034a8","signature_type":"Function"},{"digest":{"function_hash":"308762008190389962222966418438606317501","length":314},"id":"CVE-2026-95691-df42c5fb","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"file":"ssl/quic/quic_rstream.c","function":"ossl_quic_rstream_read"},"deprecated":false},{"deprecated":false,"digest":{"function_hash":"281507628111372938163312117563257714678","length":757},"id":"CVE-2026-95691-e384a1aa","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"function":"ossl_quic_rstream_get_record","file":"ssl/quic/quic_rstream.c"}},{"signature_type":"Line","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"file":"ssl/quic/quic_rstream.c"},"deprecated":false,"digest":{"line_hashes":["337532848169811819713507322500901457220","117488088680632526077899275660332083928","27171778086867925355800559220157539105","242725576314168574099947238718193354924","177826699598872197593703018898603686655","273409241663500460045924244658629066280","297284193697515460374622151074135378204","193623468992794951564579422198782131437","266283937327745078817706343838672017566","163516744740676298834772360829058721941","194755881191102225311239841229646867328","30808342220207066251725370388775602088","28327948172053847838095315253749975256"],"threshold":0.9},"id":"CVE-2026-95691-e503e996"},{"signature_version":"v1","source":"https://github.com/openssl/openssl/commit/ec9d4de9d03989b29db5a3d7efdb4c285deaf386","target":{"file":"ssl/quic/quic_strm_reas.c","function":"ossl_sframe_set_move_offset"},"deprecated":false,"digest":{"function_hash":"297460851814775457019057221731361851465","length":1514},"id":"CVE-2026-95691-e9463edd","signature_type":"Function"},{"target":{"file":"ssl/quic/quic_strm_reas.c","function":"ossl_sframe_set_insert"},"deprecated":false,"digest":{"function_hash":"244719788554341712572317084789261552751","length":5321},"id":"CVE-2026-95691-eba0aae3","signature_type":"Function","signature_version":"v1","source":"https://github.com/openssl/openssl/commit/f6244675833e097c2429a40d1b206d95385bd42f"}],"vanir_signatures_modified":"2026-11-12T07:07:30Z"}}],"schema_version":"1.9.2"}