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": [
{
"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"
}
]
}{
"cpe": "cpe:2.3:a:bouncycastle:bc-java:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "1.85"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
]
}
{
"cpe": "cpe:2.3:a:bouncycastle:bouncy_castle_for_java_lts:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "2.73.0"
},
{
"fixed": "2.73.12"
},
{
"introduced": "0"
},
{
"last_affected": "2.73.11"
}
],
"source": [
"AFFECTED_FIELD",
"CPE_RANGE"
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59646.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"181226011492891298045040596674336872527",
"88420280833489525944555699509713270531",
"16625249123415952586450940932628349226",
"320851454329274172028266083780918303540"
],
"threshold": 0.9
},
"id": "CVE-2026-59646-245cd0a6",
"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": {
"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": {
"function_hash": "109789163030238600219448007906828140137",
"length": 6873
},
"id": "CVE-2026-59646-578d8326",
"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": {
"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": {
"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": {
"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": {
"function_hash": "315101957165243595735170460633247883062",
"length": 6613
},
"id": "CVE-2026-59646-e5f855d0",
"signature_type": "Function",
"signature_version": "v1",
"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": {
"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-09-04T14:03:36Z"