{"id":"CVE-2026-59646","summary":"DTLS handshake reassembler allocates buffer from unchecked 24-bit length","details":"In Bouncy Castle for Java before 1.85, DTLS handshake reassembler allocates buffer from unchecked 24-bit length. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bctls-fips 1.0.24 (1.0.X series), 2.0.24 (2.0.X series) and 2.1.24 (2.1.X series).","modified":"2026-09-04T08:12:01.222442Z","published":"2026-08-03T00:48:29.386Z","related":["SUSE-SU-2026:23127-1","SUSE-SU-2026:23150-1","SUSE-SU-2026:3559-1","openSUSE-SU-2026:11445-1","openSUSE-SU-2026:21538-1"],"database_specific":{"cna_assigner":"bcorg","cwe_ids":["CWE-789"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59646.json","unresolved_ranges":[{"extracted_events":[{"introduced":"1.0.0"},{"fixed":"1.0.24"},{"introduced":"2.0.0"},{"fixed":"2.0.24"},{"introduced":"2.1.0"},{"fixed":"2.1.24"}],"source":"AFFECTED_FIELD"}]},"references":[{"type":"WEB","url":"https://www.bouncycastle.org/download/bouncy-castle-java-fips/"},{"type":"WEB","url":"https://www.bouncycastle.org/download/bouncy-castle-java-lts/"},{"type":"WEB","url":"https://www.bouncycastle.org/download/bouncy-castle-java/"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59646.json"},{"type":"ADVISORY","url":"https://github.com/bcgit/bc-java/wiki/CVE%E2%80%902026%E2%80%9059646"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59646"},{"type":"FIX","url":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa"},{"type":"FIX","url":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9"},{"type":"PACKAGE","url":"https://github.com/bcgit/bc-java"},{"type":"PACKAGE","url":"https://github.com/bcgit/bc-lts-java"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/bcgit/bc-java","events":[{"introduced":"0"},{"fixed":"57fbd3c501f7a369f64eda311d6a709fc0bcae84"},{"fixed":"2d98721e71bbd822ffa0f84e088eea645cf679fa"},{"fixed":"2ea38942c7917f6d7ab4de93d8a5336d021df0d9"}],"database_specific":{"cpe":"cpe:2.3:a:bouncycastle:bc-java:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"1.85"}],"source":["CPE_RANGE","REFERENCES"]}},{"type":"GIT","repo":"https://github.com/bcgit/bc-lts-java","events":[{"introduced":"468b5082f3f0971e80bf9edb7029c17b39b9ba0c"},{"fixed":"f101b232c5d3e07ecdd504210a57e43831d6cd65"}],"database_specific":{"extracted_events":[{"introduced":"2.73.0"},{"fixed":"2.73.12"},{"introduced":"0"},{"last_affected":"2.73.11"}],"source":["AFFECTED_FIELD","CPE_RANGE"],"cpe":"cpe:2.3:a:bouncycastle:bouncy_castle_for_java_lts:*:*:*:*:*:*:*:*"}}],"versions":["r1rv84","r1rv81","r1rv83","r1rv82","r1rv80","r1rv78","r1rv77","r1rv76","r1rv75","r1rv74","r1rv73","r2rv73dot11","r2rv73dot10","r2rv73dot9","r2rv73dot8","r2rv73dot6","r2rv73dot4","r2rv73dot3","r2rv73dot1","r2rv73dot0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-59646.json","vanir_signatures_modified":"2026-09-04T08:12:01Z","vanir_signatures":[{"signature_type":"Line","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSClientProtocol.java"},"deprecated":false,"digest":{"line_hashes":["181226011492891298045040596674336872527","88420280833489525944555699509713270531","16625249123415952586450940932628349226","320851454329274172028266083780918303540"],"threshold":0.9},"id":"CVE-2026-59646-245cd0a6"},{"deprecated":false,"digest":{"function_hash":"33382479280882791092118122648841245730","length":810},"id":"CVE-2026-59646-27f31592","signature_type":"Function","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSReliableHandshake.java","function":"DTLSReliableHandshake"}},{"id":"CVE-2026-59646-53c38ab6","signature_type":"Line","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java"},"deprecated":false,"digest":{"line_hashes":["257487302792572585232347194814831405191","149146724192963823600807540486573317601","186194621160007439253597348124633767014","75345587035331146488599168048672958524"],"threshold":0.9}},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSClientProtocol.java","function":"clientHandshake"},"deprecated":false,"digest":{"length":6873,"function_hash":"109789163030238600219448007906828140137"},"id":"CVE-2026-59646-578d8326"},{"signature_type":"Line","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa","target":{"file":"tls/src/main/java/org/bouncycastle/tls/TlsUtils.java"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["109932552856170467186218788113923255407","298220440139636915944689114597528904849"]},"id":"CVE-2026-59646-60509089"},{"id":"CVE-2026-59646-725bb834","signature_type":"Function","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSClientProtocol.java","function":"clientHandshake"},"deprecated":false,"digest":{"function_hash":"309361583332399334095295833403893169370","length":6825}},{"signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa","target":{"file":"tls/src/main/java/org/bouncycastle/tls/TlsProtocol.java","function":"beginHandshake"},"deprecated":false,"digest":{"length":503,"function_hash":"154520407948132009374743204103115396704"},"id":"CVE-2026-59646-7486b81a","signature_type":"Function"},{"signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSReliableHandshake.java","function":"processRecord"},"deprecated":false,"digest":{"function_hash":"276753422750615690193765852091165592276","length":1422},"id":"CVE-2026-59646-7ff48b00","signature_type":"Function"},{"deprecated":false,"digest":{"line_hashes":["184275987608223135816392160912577978449","224965605015227480950900021840837180229","179374954841150850510285786756662306495","302414479395271323440725001626178720545"],"threshold":0.9},"id":"CVE-2026-59646-acf5e8d8","signature_type":"Line","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java"}},{"deprecated":false,"digest":{"function_hash":"288526351441152287905145328246354800467","length":6565},"id":"CVE-2026-59646-bacec00c","signature_type":"Function","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9","target":{"function":"serverHandshake","file":"tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java"}},{"signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSClientProtocol.java"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["168786415366977310034800685309412351326","182398175186417115964592764101388124670","143447263296394716136805053818163976311","170298606455805423925375654279152756948"]},"id":"CVE-2026-59646-bee5cf64","signature_type":"Line"},{"source":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java","function":"serverHandshake"},"deprecated":false,"digest":{"function_hash":"315101957165243595735170460633247883062","length":6613},"id":"CVE-2026-59646-e5f855d0","signature_type":"Function","signature_version":"v1"},{"id":"CVE-2026-59646-ed53b872","signature_type":"Line","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa","target":{"file":"tls/src/main/java/org/bouncycastle/tls/TlsProtocol.java"},"deprecated":false,"digest":{"line_hashes":["220436643346976646753488650186326808022","60075939440340565362132710915538804325","37285986817476322113188714982294018111","304959392804795023952063770517557986157"],"threshold":0.9}},{"digest":{"line_hashes":["297123468047712239731414749161910665227","298432176220371079221167071088199235781","184995800880452046204776703030233709621","172525903159693520231979690960610126638","53734347878453095845511780366580336529","117085399538910320355055168305431428089","74991774716924890779468872497614904349","199473352724500497777619286413108516389","73077095910989330456782359387624731576","166863701782015192980207722245031311893","295076361634198892867089881755230925397","221782731585967363336583604004039414356"],"threshold":0.9},"id":"CVE-2026-59646-f4c79ce9","signature_type":"Line","signature_version":"v1","source":"https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9","target":{"file":"tls/src/main/java/org/bouncycastle/tls/DTLSReliableHandshake.java"},"deprecated":false}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/U:Amber"}]}