Actualizare beta privată UmbrellaX
În timpul analizei noastre de securitate, am găsit probleme serioase în mai multe biblioteci open-source utilizate pentru criptare și comunicare securizată. Remedierile locale sunt gata, dar au nevoie totuși de verificare completă și examinare independentă. Nu voi lansa versiunea beta până nu voi fi sigur că aceste riscuri sunt închise.
Iată lista completă în limbaj simplu. Deschideți o secțiune pentru a vedea ce ar putea merge prost, un exemplu de zi cu zi și referința la patch.
Secretele de grup decriptate ar putea lăsa copii suplimentare în memorie sau diagnostice. Text cifrat greșit, mesaje de bun venit, propuneri, căi de actualizare, chei locale lipsă, erori ale numărului aleatoriu, timp neobișnuit de sistem și limite de epocă ar putea închide aplicația în loc să returneze o eroare sigură. De asemenea, unele verificări ale integrității arborelui și ale lungimii căii nu au fost garantate în fiecare cale de lansare.
De exemplu, o actualizare de grup întreruptă primită de la rețea trebuie respinsă fără a închide mesagerul, a omite o verificare a integrității sau a expune octeții de mesaj într-un raport de blocare.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: openmls 0.8.1 | UMB-117, UMB-118, UMB-120, UMB-121, UMB-125, UMB-128, UMB-129, UMB-130, UMB-131, UMB-132, UMB-133, UMB-134, UMB-135, UMB-136, UMB-137, UMB-138, UMB-139
Înregistrările MLS șterse sau înlocuite ar putea lăsa în memorie copii seriate sau corpuri de propuneri ascunse. Instantaneele de grup aveau nevoie de înlocuire atomică cu scop, accesul de depanare necesita redactare și un mod opțional de persistență a stocat text codificat și lizibil în loc de date criptate autentificate.
De exemplu, ștergerea unui grup trebuie să elimine și propunerile sale ascunse în așteptare, iar o opțiune de stocare nu trebuie să arate criptată atunci când convertește doar datele în text care poate fi citit.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
Un backend opțional nefolosit încă a extras un pachet vulnerabil în inventarul de dependențe. Materialul privat HPKE avea nevoie, de asemenea, de redactare mai puternică și de curățare a memoriei.
De exemplu, un backend pe care nu îl folosim nu ar trebui să aducă într-o ediție un pachet vulnerabil cunoscut și o eroare imprimată nu trebuie să conțină niciodată o cheie privată HPKE.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: hpke-rs 0.6.1 | RUSTSEC-2026-0124
Generatorul aleatoriu și valorile HPKE temporare au avut nevoie de o curățare reală. Decriptarea autentificată eșuată ar putea lăsa, de asemenea, un buffer de text simplu parțial modificat în memorie.
De exemplu, atunci când un mesaj nu reușește autentificarea, bufferul de text simplu pe jumătate procesat trebuie șters imediat.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: hpke-rs-rust-crypto 0.6.1 | UMB-122
Starea aleatorie, ieșirea de derivare a cheii, octeții de cheie privată și bufferele de criptare eșuate au avut nevoie de curățare. Lungimile nonce nevalide și solicitările de schimb de chei neacceptate pot ajunge la căile de sfârșit de proces.
De exemplu, un nonce malformat trebuie să returneze o eroare normală în loc să închidă messengerul.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
Semnarea nonces, partajări, octeți scalari și un șir secret temporar lizibil a avut nevoie de curățare pe căile de succes și erori. O caracteristică neutilizată a atras, de asemenea, un lanț de dependență neîntreținut.
De exemplu, valorile temporare utilizate pentru o semnătură de grup nu ar trebui să rămână lizibile în memorie după ce semnarea se termină sau eșuează.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: frost-core 3.0.0 | local audited patch
Cheile pseudoaleatoare aruncate și blocurile intermediare de extindere a cheilor ar putea rămâne în memorie după ce a fost produsă o cheie finală.
De exemplu, după ce o cheie de sesiune este gata, ingredientele temporare folosite pentru obținerea acesteia ar trebui șterse.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: hkdf 0.12.4 | local compatibility backport
Blocurile de chei derivate, rezumatele de chei supradimensionate și rezultatele hash interne din ramura HMAC compatibilă ar putea rămâne în memoria obișnuită.
De exemplu, verificarea că un mesaj este autentic nu ar trebui să lase octeți reutilizabili derivați din cheie în urmă.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: hmac 0.12.1 | local compatibility backport
Opțiunea de curățare disponibilă era dezactivată în mod implicit și acoperea doar o parte a stării temporare și stocate derivate din cheie.
De exemplu, finalizarea unei verificări de autentificare ar trebui să curețe atât blocurile temporare, cât și cele stocate, derivate din chei.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: hmac 0.13.0 | local audited patch
STările de lucru și contoarele de blocuri SHA-256 și SHA-512 au avut nevoie de curățare la timp de eliminare pe ramura compatibilă.
De exemplu, hashingul unui secret în timpul derivării cheii nu ar trebui să lase starea de lucru a motorului de hash în memoria reutilizabilă.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: sha2 0.10.9 | local compatibility backport
O intrare deteriorată poate solicita o alocare uriașă, poate citi dincolo de câmpul său declarat, poate face buclă fără progres sau poate declanșa căi de depășire și panică. Diagnosticarea vectorială secretă și intrarea eșuată parțială au avut nevoie și de curățare.
De exemplu, un mesaj minuscul care pretinde în mod fals că conține un câmp imens nu trebuie să consume memorie uriașă sau să blocheze aplicația într-o buclă nesfârșită.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: tls_codec 0.4.2 | local audited patch
Cheia de integritate a mesajului STUN a putut fi tipărită în diagnosticare și nu a fost ștearsă în mod explicit cu textul de autentificare temporară.
De exemplu, un jurnal de erori de conexiune nu trebuie să dezvăluie secretul utilizat pentru autentificarea unei cereri de retransmisie.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: stun 0.17.1 | audit patch 6e5cbb42
O parolă TURN de lungă durată a fost stocată ca un șir obișnuit și avea nevoie de ștergere explicită atunci când clientul a fost distrus.
De exemplu, încheierea unui apel nu ar trebui să lase parola de retransmisie în memoria vechiului obiect client.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: turn 0.17.1 | audit patch 6e5cbb42
Numele de utilizator și parolele TURN au fost stocate ca șiruri obișnuite și imprimate automat în ieșirea de depanare ICE.
De exemplu, un raport de conexiune de apel poate spune că există acreditări, dar nu trebuie să imprime numele de utilizator și parola.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: webrtc-ice 0.17.1 | audit patch 6e5cbb42
Intrarea de derivare a cheilor media, cheile derivate, sărurile SRTP/SRTCP stocate și starea de lucru a cifrului au avut nevoie de o curățare fiabilă.
De exemplu, după ce un apel criptat se termină, cheile media și sărurile sale temporare nu ar trebui să rămână în tampoanele obișnuite.
Remediere locală pregătită, verificare în curs.
Detalii tehnice: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
Pentru note beta și actualizări de acces, urmărește contul meu personal de X.