Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-97873 EUVD-2026-91987GHSA-78x9-mjv2-rr3v

Legacy PBES1 and PKCS#12 PBE iteration count honoured unbounded in the raw JCA provider

Published Oct 3, 2026 · Updated Oct 5, 2026 · Assigned by bcorg

Description

In Bouncy Castle for Java before 1.86, the raw JCA provider's legacy PBES1 (PKCS#5 scheme 1) and PKCS#12 PBE families ran their password-based key derivation with an iteration count taken from untrusted input without bounding it, so a small input could dictate an arbitrary amount of work before anything could be verified. The AlgorithmParameters implementations (PKCS12PBE and its object identifier aliases, and PBKDF1) accepted any count from an encoded PKCS12PBEParams or PBEParameter, narrowing a value beyond the int range with intValue(), and every Cipher, Mac and SecretKeyFactory in these families derived with whatever count it was given, including one decoded by another provider's AlgorithmParameters, as when javax.crypto.EncryptedPrivateKeyInfo.getKeySpec() decrypts a PKCS#12 PBE-protected private key with BC. Both the parameter parse and the derivations now reject a negative or over-limit count under the org.bouncycastle.pbe.max_iteration_count property (default 10,000,000) that already bounded PBKDF2 (CVE-2026-17508), and the parse rejects a count beyond the int range rather than narrowing it. This issue also affects Bouncy Castle for Java LTS before 2.73.13.

Affected products

VendorProductAffectedFixed
Legion of the Bouncy Castle BC-JAVA < 1.86 1.86
Legion of the Bouncy Castle BC-LTS-JAVA 2.73.0 – < 2.73.13 2.73.13

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 bouncycastle 1.86-1 —
Debian 13 bouncycastle No fix yet —
Debian 12 bouncycastle No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 bouncycastle No fix yet —
Ubuntu 26.04 LTS bouncycastle No fix yet —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 24.04 LTS bouncycastle No fix yet —
Ubuntu Pro 22.04 LTS bouncycastle No fix yet —
Ubuntu Pro 20.04 LTS bouncycastle No fix yet —
Ubuntu Pro 18.04 LTS bouncycastle No fix yet —
Ubuntu Pro 16.04 LTS bouncycastle No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP7 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
SLES 15 SP6 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
SLES 15 SP5 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
SLES 15 SP4 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 bouncycastle 1.86-160000.1.1 SUSE-SU-2026:24461-1
SLES for SAP 15 SP6 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
SLES for SAP 15 SP5 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
SLES for SAP 15 SP4 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
SLES 16.0 bouncycastle 1.86-160000.1.1 SUSE-SU-2026:24461-1
SLE HPC 15 SP5 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
SLE HPC 15 SP4 bouncycastle 1.86-150200.3.41.1 SUSE-SU-2026:4797-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed bouncycastle 1.86-1.1 openSUSE-SU-2026:12090-1
openSUSE Leap 16.0 bouncycastle 1.86-160000.1.1 openSUSE-SU-2026:22169-1

Advisories 5

References