Funkcja Cryptocat.random() w aplikacji Cryptocat przed wersją 2.0.22 generuje klucze z niewystarczającą entropią, co poważnie osłabia bezpieczeństwo kryptograficzne. Wadliwa losowość umożliwia atakującemu przewidzenie lub odtworzenie generowanych kluczy, kompromitując poufność szyfrowanej komunikacji.
▸ Pokaż oryginał (EN)
Cryptocat before 2.0.22: Cryptocat.random() Function Array Key has Entropy Weakness
Podatność (CWE-331 — Insufficient Entropy) polega na tym, że funkcja Cryptocat.random() używana do generowania kluczy kryptograficznych dostarcza niewystarczającej ilości entropii. Słabe wartości losowe skutkują tym, że przestrzeń możliwych kluczy jest znacznie mniejsza niż zakładana, co umożliwia ich efektywne wyliczenie lub odgadnięcie. Atakujący posiadający dostęp do zaszyfrowanej komunikacji może dzięki temu odtworzyć klucze i odszyfrować wiadomości.
Atakujący może odtworzyć klucze kryptograficzne generowane przez podatną funkcję, co prowadzi do pełnego ujawnienia poufnych treści zaszyfrowanej komunikacji oraz potencjalnego naruszenia integralności i autentyczności wymienianych wiadomości.
Należy zaktualizować Cryptocat do wersji 2.0.22 lub nowszej, w której poprawiono mechanizm generowania entropii w funkcji Cryptocat.random(). Szczegóły dostępne w referencjach producenta.
Cryptocat Project Cryptocat w wersjach przed 2.0.22
Podatność została omówiona publicznie na liście oss-security w lipcu 2013 roku, natomiast wpis CVE opublikowano formalnie 2019-11-04. Dostępna jest publiczna analiza techniczna pod adresem tobtu.com/decryptocat.php.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCryptocat Project Cryptocat
APPCryptocat Project< 2.0.22
Powiązane podatności
Wiele niezidentyfikowanych podatności w Cryptocat 2.0.18
Dowolne wykonanie kodu w Cryptocat przed wersją 2.0.22 (Firefox)
Cryptocat: słaby generator liczb losowych w strophe.js (Math.random())
Remote Script Injection w Cryptocat przed wersją 2.0.22
Cryptocat strophe.js before 2.0.22 has information disclosure