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).
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59646.json",
"unresolved_ranges": [
{
"source": "AFFECTED_FIELD",
"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"
}
]
}
],
"cwe_ids": [
"CWE-789"
],
"cna_assigner": "bcorg"
}[
{
"id": "CVE-2026-59646-27f31592",
"deprecated": false,
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"digest": {
"function_hash": "33382479280882791092118122648841245730",
"length": 810.0
},
"signature_version": "v1",
"target": {
"function": "DTLSReliableHandshake",
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSReliableHandshake.java"
},
"signature_type": "Function"
},
{
"id": "CVE-2026-59646-53c38ab6",
"deprecated": false,
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"digest": {
"threshold": 0.9,
"line_hashes": [
"257487302792572585232347194814831405191",
"149146724192963823600807540486573317601",
"186194621160007439253597348124633767014",
"75345587035331146488599168048672958524"
]
},
"signature_version": "v1",
"target": {
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java"
},
"signature_type": "Line"
},
{
"id": "CVE-2026-59646-60509089",
"deprecated": false,
"source": "https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa",
"digest": {
"threshold": 0.9,
"line_hashes": [
"109932552856170467186218788113923255407",
"298220440139636915944689114597528904849"
]
},
"signature_version": "v1",
"target": {
"file": "tls/src/main/java/org/bouncycastle/tls/TlsUtils.java"
},
"signature_type": "Line"
},
{
"id": "CVE-2026-59646-725bb834",
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"deprecated": false,
"digest": {
"function_hash": "309361583332399334095295833403893169370",
"length": 6825.0
},
"target": {
"function": "clientHandshake",
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSClientProtocol.java"
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"id": "CVE-2026-59646-7486b81a",
"source": "https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa",
"deprecated": false,
"digest": {
"function_hash": "154520407948132009374743204103115396704",
"length": 503.0
},
"target": {
"function": "beginHandshake",
"file": "tls/src/main/java/org/bouncycastle/tls/TlsProtocol.java"
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"id": "CVE-2026-59646-7ff48b00",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"digest": {
"function_hash": "276753422750615690193765852091165592276",
"length": 1422.0
},
"target": {
"function": "processRecord",
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSReliableHandshake.java"
},
"deprecated": false,
"signature_type": "Function"
},
{
"id": "CVE-2026-59646-bacec00c",
"target": {
"function": "serverHandshake",
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java"
},
"deprecated": false,
"digest": {
"function_hash": "288526351441152287905145328246354800467",
"length": 6565.0
},
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"signature_type": "Function"
},
{
"id": "CVE-2026-59646-bee5cf64",
"deprecated": false,
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"digest": {
"threshold": 0.9,
"line_hashes": [
"168786415366977310034800685309412351326",
"182398175186417115964592764101388124670",
"143447263296394716136805053818163976311",
"170298606455805423925375654279152756948"
]
},
"signature_version": "v1",
"target": {
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSClientProtocol.java"
},
"signature_type": "Line"
},
{
"id": "CVE-2026-59646-ed53b872",
"target": {
"file": "tls/src/main/java/org/bouncycastle/tls/TlsProtocol.java"
},
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"220436643346976646753488650186326808022",
"60075939440340565362132710915538804325",
"37285986817476322113188714982294018111",
"304959392804795023952063770517557986157"
]
},
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa",
"signature_type": "Line"
},
{
"id": "CVE-2026-59646-f4c79ce9",
"target": {
"file": "tls/src/main/java/org/bouncycastle/tls/DTLSReliableHandshake.java"
},
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"297123468047712239731414749161910665227",
"298432176220371079221167071088199235781",
"184995800880452046204776703030233709621",
"172525903159693520231979690960610126638",
"53734347878453095845511780366580336529",
"117085399538910320355055168305431428089",
"74991774716924890779468872497614904349",
"199473352724500497777619286413108516389",
"73077095910989330456782359387624731576",
"166863701782015192980207722245031311893",
"295076361634198892867089881755230925397",
"221782731585967363336583604004039414356"
]
},
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9",
"signature_type": "Line"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59646.json"
"2026-08-12T16:41:37Z"