Advisory Database
  • Advisories
  • Dependency Scanning
  1. maven
  2. ›
  3. org.bouncycastle/bctls-jdk18on
  4. ›
  5. CVE-2026-59646

CVE-2026-59646: DTLS handshake reassembler allocates buffer from unchecked 24-bit length

August 3, 2026 (updated September 16, 2026)

Affects Bouncy Castle for Java before 1.85. DTLSReliableHandshake.processRecord() allocates a reassembly buffer sized from the 24-bit handshake length field of an incoming record, without the maximum-message-size check the stream-TLS path applies. Up to sixteen message sequences may be buffered per connection, so a single record of about 205 bytes carrying sixteen fragment headers with a maximal length forces roughly 256 MiB of allocation before any authentication. A few small UDP datagrams can drive the JVM to OutOfMemoryError.

References

  • github.com/bcgit/bc-java/commit/2d98721e71bbd822ffa0f84e088eea645cf679fa
  • github.com/bcgit/bc-java/commit/2ea38942c7917f6d7ab4de93d8a5336d021df0d9
  • github.com/bcgit/bc-java/wiki/CVE-2026-59646
  • nvd.nist.gov/vuln/detail/CVE-2026-59646

Code Behaviors & Features

Detect and mitigate CVE-2026-59646 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 1.85.0

Fixed versions

  • 1.85.0

Solution

Upgrade to version 1.85.0 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-789: Memory Allocation with Excessive Size Value

Source file

maven/org.bouncycastle/bctls-jdk18on/CVE-2026-59646.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 22 Sep 2026 12:20:28 +0000.