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
References
http://www.securityfocus.com/bid/103453
https://access.redhat.com/errata/RHSA-2018:2927
https://www.bouncycastle.org/releasenotes.html
https://www.kb.cert.org/vuls/id/306792
https://www.oracle.com/security-alerts/cpuoct2020.html
Related Vulnerabilities
CVE-2011-4838 Vulnerability in maven package org.jruby:jruby
CVE-2017-12621 Vulnerability in maven package commons-jelly:commons-jelly
CVE-2019-19771 Vulnerability in npm package dhkey
CVE-2022-25881 Vulnerability in maven package org.webjars.npm:http-cache-semantics
CVE-2018-11796 Vulnerability in maven package org.apache.tika:tika-core