CVE-2026-97873 in Bouncy Castle for Java
Zusammenfassung
von VulDB • 03.10.2026
In Bouncy Castle für Java vor Version 1.86 führten die Legacy-Familien PBES1 (PKCS#5 scheme 1) und PKCS#12 PBE des raw JCA Providers ihre passwortbasierte Schlüsselableitung mit einer Iterationsanzahl aus, die von nicht vertrauenswürdigen Eingaben stammt und nicht begrenzt wurde. Dadurch konnte eine kleine Eingabe willkürlich viel Rechenarbeit verursachen, bevor irgendetwas verifiziert werden konnte. Die AlgorithmParameters-Implementierungen (PKCS12PBE und deren Object-Identifier-Aliase sowie PBKDF1) akzeptierten jede Zählzahl aus einem codierten PKCS12PBEParams oder PBEParameter, wobei ein Wert außerhalb des int-Bereichs durch intValue() auf diesen Bereich reduziert wurde. Jeder Cipher, Mac und SecretKeyFactory in diesen Familien leitete den Schlüssel mit der jeweils angegebenen Zählzahl ab, einschließlich einer von den AlgorithmParameters eines anderen Providers decodierten Zahl, wie beim Entschlüsseln eines PKCS#12 PBE-geschützten privaten Schlüssels durch javax.crypto.EncryptedPrivateKeyInfo.getKeySpec() unter Verwendung von BC. Sowohl die Parameteranalyse als auch die Ableitungen lehnen nun eine negative oder über dem Grenzwert liegende Zählzahl gemäß der Eigenschaft org.bouncycastle.pbe.max_iteration_count ab (Standardwert 10.000.000), welche bereits PBKDF2 begrenzt (CVE-2026-17508). Die Analyse lehnt zudem eine Zählzahl jenseits des int-Bereichs ab, anstatt sie zu reduzieren. Dieses Problem betrifft auch Bouncy Castle für Java LTS vor Version 2.73.13.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.