CVE Database›Document archive›CVE-2026-97873

CVE-2026-97873

org.bouncycastle:bcprov-jdk18on: org.bouncycastle:bcprov-lts8on: bouncycastle: org.bouncycastle:bcprov-jdk15on: bouncycastle: Denial of Service via unbounded iteration count in password-based encryption

Loading…

Severity

Moderate

Red Hat Product Security

5.3

CVSS 3.1

Review impact separately from score.

Published · October 3, 2026

Updated · October 14, 2026

Description

A flaw was found in Bouncy Castle. In its legacy password-based encryption implementations, iteration counts parsed from untrusted cryptographic inputs are processed without enforcing an upper limit. A remote attacker could exploit this vulnerability by supplying crafted parameters with an excessively large iteration count, consuming disproportionate processing resources and causing a Denial of Service (DoS).

Statement

A flaw was found in Bouncy Castle's JCA provider when handling legacy PBES1 and PKCS#12 password-based encryption (PBE) parameters. The parameter parser and key derivation implementations accept iteration counts from untrusted cryptographic inputs without enforcing an upper bound. A remote, unauthenticated attacker can supply crafted parameters containing an excessively large iteration count, forcing the system to execute an arbitrary number of derivation cycles before failing verification. This causes disproportionate CPU resource consumption, resulting in a denial of service (DoS).

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

Configure applications to reject legacy PBES1 and PKCS#12 cipher suites in favor of modern PBKDF2 or Argon2 derivations. Where legacy formats cannot be disabled, restrict network endpoints from accepting untrusted, serialized cryptographic parameters or PKCS#12 containers.

CVSS / CWE

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

CWE-606 · Unchecked Input for Loop Condition