CVE-2018-5382

Bouncy Castle BKS-V1 keystore files vulnerable to trivial hash collisions

Published Apr 16, 2018 CVSS 3.1 · 4.4 Medium EPSS < 1% KEV · Not listed
Description
The default BKS keystore use an HMAC that is only 16 bits long, which can allow an attacker to compromise the integrity of a BKS keystore. Bouncy Castle release 1.47 changes the BKS format to a format which uses a 160 bit HMAC instead. This applies to any BKS keystore generated prior to BC 1.47. For situations where people need to create the files for legacy reasons a specific keystore type "BKS-V1" was introduced in 1.49. It should be noted that the use of "BKS-V1" is discouraged by the library authors and should only be used where it is otherwise safe to do so, as in where the use of a 16 bit checksum for the file integrity check is not going to cause a security issue in itself.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2022-3099 The default BKS keystore use an HMAC that is only 16 bits long, which can allow an attacker to compromise the integrity of a BKS keystore. Bouncy Castle release 1.47 changes the BKS format to a format which uses a 160 bit HMAC instead. This applies to any BKS keystore generated prior to BC 1.47. For situations where people need to create the files for legacy reasons a specific keystore type "BKS-V1" was introduced in 1.49. It should be noted that the use of "BKS-V1" is discouraged by the library authors and should only be used where it is otherwise safe to do so, as in where the use of a 16 bit checksum for the file integrity check is not going to cause a security issue in itself.
Github GHSA Github GHSA GHSA-8477-3v39-ggpm Improper Validation of Integrity Check Value in Bouncy Castle
History
Type Values Removed Values Added
First Time appeared Bouncycastle bc-java
CPEs cpe:2.3:a:bouncycastle:legion-of-the-bouncy-castle-java-crytography-api:*:*:*:*:*:*:*:* cpe:2.3:a:bouncycastle:bc-java:*:*:*:*:*:*:*:*
Vendors & Products Bouncycastle legion-of-the-bouncy-castle-java-crytography-api
Bouncycastle bc-java
Weaknesses

Sources

Status
PUBLISHED
Assigner
certcc
Published
Updated
Sep 16, 2024, 4:27 PM
Reserved
Jan 12, 2018, 12:00 AM
Status
Modified
Published
Apr 16, 2018, 2:29 PM
Modified
Jun 17, 2026, 2:00 AM
Severity
Low
Public date
Mar 30, 2012, 12:00 AM