Biblioteka Bouncy Castle dla Java nie wymusza sprawdzania długości tagu (tag-length) podczas deszyfrowania danych w formacie CMS AuthEnvelopedData. Podatność może pozwolić atakującemu na manipulację integralnością przetwarzanych danych bez wykrycia przez bibliotekę.
▸ Pokaż oryginał (EN)
In Bouncy Castle for Java before 1.85, CMS AuthEnvelopedData fails to enforce tag-length on decryption. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 1.0.12 (1.0.X series), 2.0.12 (2.0.X series) and 2.1.12 (2.1.X series).
CWE-354 (Improper Validation of Integrity Check Value) wskazuje, że biblioteka nie weryfikuje poprawnie wartości kontrolnej tagu uwierzytelniającego podczas operacji deszyfrowania AuthEnvelopedData. Oznacza to, że zmodyfikowane lub sfałszowane dane mogą zostać przetworzone bez zgłoszenia błędu, co podważa gwarancje autentyczności zapewniane przez ten format. Atakujący zdalny, nieuwierzytelniony może dostarczyć spreparowane dane szyfrowane, które biblioteka zaakceptuje mimo naruszenia integralności.
Atakujący może skutecznie ominąć mechanizm weryfikacji integralności i autentyczności danych chronionych przez CMS AuthEnvelopedData, co prowadzi do akceptowania przez aplikację zmodyfikowanych lub sfałszowanych wiadomości kryptograficznych.
Należy zaktualizować bibliotekę do wersji: Bouncy Castle dla Java 1.85 lub nowszej; Bouncy Castle dla Java LTS 2.73.12 lub nowszej; BC-FJA (bcpkix-fips) 1.0.12, 2.0.12 lub 2.1.12 odpowiednio dla posiadanej serii. Patche dostępne w repozytorium projektu pod wskazanym commitem.
Bouncy Castle dla Java przed wersją 1.85; Bouncy Castle dla Java LTS przed wersją 2.73.12; Bouncy Castle dla Java FIPS (BC-FJA) — bcpkix-fips przed wersjami 1.0.12 (seria 1.0.X), 2.0.12 (seria 2.0.X) oraz 2.1.12 (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:Amber