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).
{
"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": [
{
"range": [
{
"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",
"strategy": "StandardRange"
}
]
}
]
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:bouncycastle:bc-java:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.85"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "2d98721e71bbd822ffa0f84e088eea645cf679fa"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "2ea38942c7917f6d7ab4de93d8a5336d021df0d9"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
{
"extracted_events": [
{
"range": [
{
"introduced": "2.73.0"
},
{
"fixed": "2.73.12"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"cpe": "cpe:2.3:a:bouncycastle:bouncy_castle_for_java_lts:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "2.73.11"
}
],
"source": "CPE_RANGE"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59646.json"
[
{
"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"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"257487302792572585232347194814831405191",
"149146724192963823600807540486573317601",
"186194621160007439253597348124633767014",
"75345587035331146488599168048672958524"
],
"threshold": 0.9
},
"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": [
"109932552856170467186218788113923255407",
"298220440139636915944689114597528904849"
],
"threshold": 0.9
},
"id": "CVE-2026-59646-60509089",
"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": {
"function_hash": "309361583332399334095295833403893169370",
"length": 6825
},
"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": "154520407948132009374743204103115396704",
"length": 503
},
"id": "CVE-2026-59646-7486b81a",
"signature_type": "Function",
"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": {
"function_hash": "276753422750615690193765852091165592276",
"length": 1422
},
"id": "CVE-2026-59646-7ff48b00",
"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": "288526351441152287905145328246354800467",
"length": 6565
},
"id": "CVE-2026-59646-bacec00c",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"target": {
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java",
"function": "serverHandshake"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"168786415366977310034800685309412351326",
"182398175186417115964592764101388124670",
"143447263296394716136805053818163976311",
"170298606455805423925375654279152756948"
],
"threshold": 0.9
},
"id": "CVE-2026-59646-bee5cf64",
"signature_type": "Line",
"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": {
"line_hashes": [
"220436643346976646753488650186326808022",
"60075939440340565362132710915538804325",
"37285986817476322113188714982294018111",
"304959392804795023952063770517557986157"
],
"threshold": 0.9
},
"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": [
"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"
}
}
]
"2026-10-24T14:39:22Z"