Përditësim beta privat i UmbrellaX
Gjatë rishikimit tonë të sigurisë, gjetëm probleme serioze në disa biblioteka me burim të hapur të përdorura për kriptim dhe komunikim të sigurt. Rregullimet lokale janë gati, por ato ende kanë nevojë për verifikim të plotë dhe rishikim të pavarur. Unë nuk do të lëshoj beta derisa të jem i sigurt se këto rreziqe janë mbyllur.
Këtu është lista e plotë në gjuhë të thjeshtë. Hapni një seksion për të parë se çfarë mund të shkojë keq, një shembull të përditshëm dhe referencën e patch-it.
Sekretet e deshifruara të grupit mund të lënë kopje shtesë në kujtesë ose në diagnostifikim. Shifror teksti i keq, mesazhet e mirëseardhjes, propozimet, shtigjet e përditësimit, çelësat lokalë që mungojnë, dështimet me numra të rastësishëm, koha e pazakontë e sistemit dhe kufijtë e epokës mund të mbyllin aplikacionin në vend që të kthejnë një gabim të sigurt. Disa kontrolle të integritetit të pemës dhe gjatësisë së shtegut gjithashtu nuk ishin të garantuara në çdo shteg lëshimi.
Për shembull, një përditësim i prishur i grupit i marrë nga rrjeti duhet të refuzohet pa e mbyllur mesazhin, duke anashkaluar një kontroll të integritetit ose duke ekspozuar bajt mesazhesh në një raport përplasjeje.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: 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
Të dhënat e fshira ose të zëvendësuara të MLS mund të lënë kopje të serializuara ose trupa të fshehura të propozimit në kujtesë. Fotot e grupit kishin nevojë për zëvendësim atomik me shtrirje, aksesi i korrigjimit të nevojshëm për redaktimin dhe një modalitet i qëndrueshëm opsional i ruajtur tekstin e koduar të lexueshëm në vend të të dhënave të koduara të vërtetuara.
Për shembull, fshirja e një grupi duhet gjithashtu të heqë propozimet e tij të fshehura në pritje dhe një opsion ruajtjeje nuk duhet të duket i koduar kur konverton të dhënat vetëm në tekst të lexueshëm.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
Një backend opsional i papërdorur ende tërhoqi një paketë të cenueshme në inventarin e varësisë. Materiali privat HPKE gjithashtu kishte nevojë për redaktim dhe pastrim më të fortë të kujtesës.
Për shembull, një backend që nuk e përdorim nuk duhet të sjellë në një version një paketë të njohur të cenueshme dhe një printim gabimi nuk duhet të përmbajë kurrë një çelës privat HPKE.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: hpke-rs 0.6.1 | RUSTSEC-2026-0124
Gjeneratori i rastësishëm dhe vlerat e përkohshme HPKE kishin nevojë për pastrim të vërtetë. Deshifrimi i vërtetuar i dështuar mund të lërë gjithashtu një tampon teksti të thjeshtë të modifikuar pjesërisht në memorie.
Për shembull, kur një mesazh dështon në vërtetimin, bufferi i tekstit të thjeshtë gjysmë i përpunuar duhet të fshihet menjëherë.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: hpke-rs-rust-crypto 0.6.1 | UMB-122
Gjendja e rastësishme, prodhimi i derivimit të çelësit, bajtët e çelësit privat dhe buferët e dështuar të enkriptimit kishin nevojë për pastrim. Gjatësitë e pavlefshme nonce dhe kërkesat e pambështetura të shkëmbimit të çelësave mund të arrijnë shtigjet e përfundimit të procesit.
Për shembull, një nonce e keqformuar duhet të kthejë një gabim normal në vend që të mbyllë mesazherin.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
Nënshkrimi i nonces, aksioneve, bajteve skalar dhe një vargu sekret i përkohshëm i lexueshëm kërkon pastrim në rrugët e suksesit dhe gabimit. Një veçori e papërdorur gjithashtu tërhoqi një zinxhir varësie të pambajtur.
Për shembull, vlerat e përkohshme të përdorura për një nënshkrim grupi nuk duhet të mbeten të lexueshme në memorie pasi nënshkrimi përfundon ose dështon.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: frost-core 3.0.0 | local audited patch
Çelësat pseudorandom të hedhur poshtë dhe blloqet e ndërmjetme të zgjerimit të çelësave mund të mbeten në memorie pas prodhimit të një çelësi përfundimtar.
Për shembull, pasi çelësi i sesionit është gati, përbërësit e përkohshëm të përdorur për ta nxjerrë atë duhet të fshihen.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: hkdf 0.12.4 | local compatibility backport
Blloqet e përftuara të çelësave, përmbledhjet me çelës të madh dhe rezultatet e hash-it të brendshëm në degën e pajtueshme HMAC mund të mbeten në kujtesën e zakonshme.
Për shembull, verifikimi që një mesazh është autentik nuk duhet të lërë prapa bajt të ripërdorshëm të nxjerrë nga çelësi.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: hmac 0.12.1 | local compatibility backport
Opsioni i disponueshëm i pastrimit ishte joaktiv si parazgjedhje dhe mbulonte vetëm një pjesë të gjendjes së përkohshme dhe të ruajtur nga çelësi.
Për shembull, përfundimi i një kontrolli vërtetimi duhet të pastrojë blloqet e përkohshme dhe të ruajtura me prejardhje nga çelësi.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: hmac 0.13.0 | local audited patch
SHA-256 dhe SHA-512 në gjendje pune dhe numërues blloku kishin nevojë për pastrim në kohë në degën e përputhshme.
Për shembull, hashimi i një sekreti gjatë nxjerrjes së çelësit nuk duhet të lërë gjendjen e punës të motorit hash në memorien e ripërdorshme.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: sha2 0.10.9 | local compatibility backport
Një hyrje e dëmtuar mund të kërkojë një ndarje të madhe, të lexojë përtej fushës së deklaruar, të qarkullojë pa përparim ose të shkaktojë shtigje të tejmbushjes dhe panikut. Diagnostifikimi i vektorit sekret dhe futja e pjesshme e dështuar gjithashtu kërkonin pastrim.
Për shembull, një mesazh i vogël që pretendon në mënyrë të rreme se përmban një fushë të madhe nuk duhet të konsumojë memorie të madhe ose të bllokojë aplikacionin në një lak të pafund.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: tls_codec 0.4.2 | local audited patch
Çelësi i integritetit të mesazhit STUN mund të printohej në diagnostikim dhe nuk u fshi në mënyrë eksplicite me tekst të përkohshëm kredencial.
Për shembull, një regjistër i gabimeve të lidhjes nuk duhet të zbulojë sekretin e përdorur për të vërtetuar një kërkesë rele.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: stun 0.17.1 | audit patch 6e5cbb42
Një fjalëkalim afatgjatë TURN u ruajt si një varg i zakonshëm dhe kishte nevojë për fshirje të qartë kur klienti u shkatërrua.
Për shembull, përfundimi i një telefonate nuk duhet të lërë fjalëkalimin e tij të transmetimit në memorien e objektit të vjetër të klientit.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: turn 0.17.1 | audit patch 6e5cbb42
Emrat e përdoruesve dhe fjalëkalimet TURN u ruajtën si vargje të zakonshme dhe u printuan automatikisht në daljen e korrigjimit të ICE.
Për shembull, një raport i lidhjes së thirrjes mund të thotë se ekzistojnë kredencialet, por nuk duhet të printojë emrin e përdoruesit dhe fjalëkalimin.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: webrtc-ice 0.17.1 | audit patch 6e5cbb42
Hyrja e derivimit të çelësit të medias, çelësat e prejardhur, kripërat e ruajtura SRTP/SRTCP dhe gjendja e funksionimit të shifrave kërkonin pastrim të besueshëm.
Për shembull, pas përfundimit të një telefonate të koduar, çelësat e saj të përkohshëm të medias dhe kripërat nuk duhet të mbeten në buferë të zakonshëm.
Rregullimi lokal i përgatitur, verifikimi në vazhdim.
Detaje teknike: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
Për shënime beta dhe përditësime aksesi, ndiq llogarinë time personale në X.