In the Bouncy Castle JCE Provider version 1.55 and earlier the primary engine class used for AES was AESFastEngine. Due to the highly table driven approach used in the algorithm it turns out that if the data channel on the CPU can be monitored the lookup table accesses are sufficient to leak information on the AES key being used. There was also a leak in AESEngine although it was substantially less. AESEngine has been modified to remove any signs of leakage (testing carried out on Intel X86-64) and is now the primary AES class for the BC JCE provider from 1.56. Use of AESFastEngine is now only recommended where otherwise deemed appropriate.
CPE | Name | Operator | Version |
---|---|---|---|
legion-of-the-bouncy-castle-java-crytography-api | le | 1.55 | |
debian_linux | eq | 8.0 |
access.redhat.com/errata/RHSA-2018:2669
access.redhat.com/errata/RHSA-2018:2927
github.com/bcgit/bc-java/commit/413b42f4d770456508585c830cfcde95f9b0e93b
github.com/bcgit/bc-java/commit/8a73f08931450c17c749af067b6a8185abdfd2c0
lists.debian.org/debian-lts-announce/2018/07/msg00009.html
security.netapp.com/advisory/ntap-20181127-0004/
usn.ubuntu.com/3727-1/
www.oracle.com/security-alerts/cpuoct2020.html