---
id: "CVE-2026-5598"
kind: "vulnerability"
aliases: ["CVE-2026-5598", "GHSA-p93r-85wp-75v3"]
title: "Bouncy Castle Has Covert Timing Channel Vulnerability"
severity: "high"
cvss: 8.9
epss: 0.00899
exploited: false
status: "open"
category: "package"
products: [{"name": "org.bouncycastle:bcprov-jdk15to18", "fixed": ["1.80.2"], "affected": ">= 1.71, < 1.80.2", "ecosystem": "maven"}, {"name": "org.bouncycastle:bcprov-jdk18on", "fixed": ["1.84"], "affected": ">= 1.82, < 1.84", "ecosystem": "maven"}, {"name": "org.bouncycastle:bcprov-jdk14", "fixed": ["1.84"], "affected": ">= 1.71, < 1.84", "ecosystem": "maven"}, {"name": "org.bouncycastle:bcprov-jdk18on", "fixed": ["1.84"], "affected": ">= 1.81, < 1.81.1", "ecosystem": "maven"}, {"name": "org.bouncycastle:bcprov-jdk18on", "fixed": ["1.80.2"], "affected": ">= 1.71, < 1.80.2", "ecosystem": "maven"}]
ecosystems: ["maven"]
tags: ["bouncy-castle", "cwe-385", "java", "maven", "package", "post-quantum-crypto"]
not_affected_if: ["no-frodokem", "other-algorithms-only"]
published_at: "2026-04-15T10:16:49+00:00"
first_seen_at: "2026-11-04T03:21:06+00:00"
updated_at: "2026-11-04T03:46:40+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-p93r-85wp-75v3", "first_seen_at": "2026-11-04T03:21:06+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-5598", "first_seen_at": "2026-11-04T03:46:40+00:00"}]
---

# Bouncy Castle Has Covert Timing Channel Vulnerability

Bouncy Castle's Java FrodoKEM implementation leaks timing information during decryption of encapsulations. An attacker who can time many decryptions may recover information about the secret key.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- maven:org.bouncycastle:bcprov-jdk15to18 affected >= 1.71, < 1.80.2 fixed 1.80.2
- maven:org.bouncycastle:bcprov-jdk18on affected >= 1.82, < 1.84 fixed 1.84
- maven:org.bouncycastle:bcprov-jdk14 affected >= 1.71, < 1.84 fixed 1.84
- maven:org.bouncycastle:bcprov-jdk18on affected >= 1.81, < 1.81.1 fixed 1.84
- maven:org.bouncycastle:bcprov-jdk18on affected >= 1.71, < 1.80.2 fixed 1.80.2

## How to check

- Check the Bouncy Castle version in your Maven or Gradle dependencies, for example with `mvn dependency:tree | grep bouncycastle`
- Confirm whether your code uses the FrodoKEM algorithm for decrypting encapsulations; the sources say only users of FrodoKEM are affected

## Fix

- `bcprov-jdk15to18` to `1.80.2`
- `bcprov-jdk18on` to `1.80.2` for the 1.71 to 1.80.1 range, `1.84` for the 1.81 and 1.82 to 1.83 ranges
- `bcprov-jdk14` to `1.84`

## Timeline

- 2026-11-04T03:21:06+00:00 ghsa https://github.com/advisories/GHSA-p93r-85wp-75v3
- 2026-11-04T03:46:40+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-5598

## Documents

- [fix] Patch: github.com https://github.com/bcgit/bc-java/commit/8692e6b2b191fc4aafa32545c7a78bdb9bf110c5
- [fix] Patch: github.com https://github.com/bcgit/bc-java/commit/94abbd56413dfdac651fd878bc60253871ef5e87
- [mentions] NVD CVE-2026-55981 https://nvd.nist.gov/vuln/detail/CVE-2026-55981

## From the sources

Covert timing channel vulnerability in Legion of the Bouncy Castle Inc. BC-JAVA core on all (core modules). This vulnerability is associated with program files FrodoEngine.Java.

This issue only affects users of the FrodoKEM algorithm involved in the decryption of encapsulations.

This issue affects BC-JAVA: from 1.71 to 1.80.1, 1.81, 1.82 to 1.83.

Fixed versions: 1.80.2, 1.81.1, 1.84

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
