W bibliotece Bouncy Castle for Java wykryto podatność polegającą na pomijaniu końcowego tagu uwierzytelniającego podczas deszyfrowania OpenPGP z szyfrowaniem AEAD dla danych wyrównanych do granicy bloku (chunk-aligned). Brak weryfikacji integralności danych stwarza ryzyko akceptowania zmodyfikowanych lub sfałszowanych wiadomości zaszyfrowanych.
▸ Pokaż oryginał (EN)
In Bouncy Castle for Java before 1.85, OpenPGP AEAD decryption skips final tag on chunk-aligned data. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bcpg-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series) and 2.1.13 (2.1.X series).
Podatność (CWE-354: Improper Validation of Integrity Check Value) polega na tym, że procedura deszyfrowania AEAD w OpenPGP pomija sprawdzenie końcowego tagu uwierzytelniającego, gdy rozmiar danych jest dokładnie wyrównany do granicy fragmentu (chunk boundary). W normalnym trybie pracy tag AEAD stanowi kryptograficzne potwierdzenie integralności i autentyczności odszyfrowanych danych. Pominięcie tej weryfikacji oznacza, że zmodyfikowane lub podrobione dane mogą zostać zaakceptowane przez aplikację jako prawidłowe, bez wykrycia manipulacji.
Atakujący może dostarczyć zmodyfikowane dane zaszyfrowane OpenPGP AEAD, które zostaną błędnie zaakceptowane jako autentyczne i niezmienione, co prowadzi do naruszenia integralności przetwarzanych danych.
Należy zaktualizować bibliotekę Bouncy Castle for Java do wersji 1.85 lub nowszej, Bouncy Castle for Java LTS do wersji 2.73.12 lub nowszej, a Bouncy Castle for Java FIPS (BC-FJA) do wersji bcpg-fips 1.0.13, 2.0.13 lub 2.1.13 (odpowiednio dla używanej serii). Szczegóły dostępne w referencjach producenta na GitHub.
Bouncy Castle for Java przed wersją 1.85; Bouncy Castle for Java LTS przed wersją 2.73.12; Bouncy Castle for Java FIPS (BC-FJA) — bcpg-fips przed wersjami 1.0.13 (seria 1.0.X), 2.0.13 (seria 2.0.X) oraz 2.1.13 (seria 2.1.X).
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:AmberBouncycastle Bc Java
APPBouncycastle< 1.85Bouncycastle Bcpg Fips
APPBouncycastle1.0.7 – 1.0.13 (bez)2.0.8 – 2.0.13 (bez)2.1.10 – 2.1.13 (bez)Bouncycastle Bouncy Castle For Java Lts
APPBouncycastle≤ 2.73.11
Powiązane podatności
Bouncy Castle Java: błędna weryfikacja hostname (CN-fallback) w JSSE
Bouncy Castle Java: brak walidacji wartości peer w protokole MTI/A0 DH
Niebezpieczna refleksja przy deserializacji klucza XMSS w Bouncy Castle
Bouncy Castle for Java: przedwczesna alokacja pamięci w dekoderze MLS
Bouncy Castle for Java: nadmierna alokacja pamięci w BKS/UBER keystore przed weryfikacją integralności