UmbrellaX privātais beta atjauninājums
Drošības pārbaudes laikā mēs atklājām nopietnas problēmas vairākās atvērtā pirmkoda bibliotēkās, kas tiek izmantotas šifrēšanai un drošai saziņai. Vietējie labojumi ir gatavi, taču tiem joprojām ir nepieciešama pilnīga pārbaude un neatkarīga pārskatīšana. Es neizlaidīšu beta versiju, kamēr būšu pārliecināts, ka šie riski ir novērsti.
Šeit ir pilns saraksts vienkāršā valodā. Atveriet sadaļu, lai redzētu, kas varētu noiet greizi, ikdienas piemēru un ielāpu atsauci.
Atšifrēti grupu noslēpumi var atstāt papildu kopijas atmiņā vai diagnostikā. Slikts šifrētais teksts, sveiciena ziņojumi, priekšlikumi, atjaunināšanas ceļi, trūkstošās vietējās atslēgas, nejaušu skaitļu kļūmes, neparasts sistēmas laiks un laikmeta ierobežojumi var aizvērt lietotni, nevis atgriezt drošu kļūdu. Dažas koka integritātes un ceļa garuma pārbaudes arī netika garantētas katrā izlaišanas ceļā.
Piemēram, no tīkla saņemtais bojātais grupas atjauninājums ir jānoraida, neaizverot ziņojumapmaiņas programmu, neizlaižot integritātes pārbaudi vai neatklājot ziņojuma baitus avārijas pārskatā.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: 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
Dzēsti vai aizstāti MLS ieraksti var atstāt atmiņā sērijveida kopijas vai slēptos priekšlikumu pamattekstus. Grupas momentuzņēmumiem bija nepieciešama tvēruma atomu nomaiņa, atkļūdošanas piekļuve bija nepieciešama rediģēšana, un izvēles noturības režīmā tika saglabāts lasāms kodēts teksts autentificētu šifrētu datu vietā.
Piemēram, dzēšot grupu, ir jānoņem arī tās slēptie neapstiprinātie priekšlikumi, un krātuves opcija nedrīkst izskatīties šifrēta, ja tā pārvērš datus tikai lasāmā tekstā.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
Neizmantotā izvēles aizmugursistēma joprojām ievilka neaizsargātu pakotni atkarības krājumā. HPKE privātajam materiālam bija nepieciešama arī spēcīgāka rediģēšana un atmiņas tīrīšana.
Piemēram, aizmugursistēmai, kuru neizmantojam, laidienā nevajadzētu iekļaut zināmu ievainojamu pakotni, un kļūdas izdrukā nekad nedrīkst būt HPKE privātā atslēga.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: hpke-rs 0.6.1 | RUSTSEC-2026-0124
Nejaušības ģeneratoram un pagaidu HPKE vērtībām bija nepieciešama reāla tīrīšana. Neveiksmīga autentificēta atšifrēšana var arī atstāt atmiņā daļēji modificētu vienkāršā teksta buferi.
Piemēram, ja ziņojuma autentifikācija neizdodas, daļēji apstrādātais vienkāršā teksta buferis ir nekavējoties jāizdzēš.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: hpke-rs-rust-crypto 0.6.1 | UMB-122
Nejaušs stāvoklis, atslēgas atvasināšanas izvade, privātās atslēgas baiti un neveiksmīgi šifrēšanas buferi bija jātīra. Nederīgie garumi un neatbalstīti atslēgu apmaiņas pieprasījumi var sasniegt procesa beigu ceļus.
Piemēram, nepareizi veidotam nonce ir jāatgriež normāla kļūda, nevis jāaizver kurjers.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
Neparakstīšanai, koplietošanai, skalārajiem baitiem un īslaicīgi lasāmai slepenai virknei bija nepieciešama veiksmes un kļūdu ceļu tīrīšana. Neizmantota funkcija arī izvilka neuzturētu atkarības ķēdi.
Piemēram, pagaidu vērtības, kas tiek izmantotas grupas parakstam, nedrīkst palikt nolasāmas atmiņā pēc parakstīšanas pabeigšanas vai neveiksmes.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: frost-core 3.0.0 | local audited patch
Izmestās pseidogadījuma atslēgas un starpposma atslēgu paplašināšanas bloki var palikt atmiņā pēc pēdējās atslēgas izgatavošanas.
Piemēram, kad sesijas atslēga ir gatava, tās atvasināšanai izmantotās pagaidu sastāvdaļas ir jāizdzēš.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: hkdf 0.12.4 | local compatibility backport
Atvasinātie atslēgu bloki, lielizmēra atslēgu īssavilkumi un iekšējie jaukšanas rezultāti saderīgā HMAC zarā var palikt parastajā atmiņā.
Piemēram, pārbaudot, vai ziņojums ir autentisks, nevajadzētu atstāt atkārtoti lietojamus no atslēgas iegūtus baitus.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: hmac 0.12.1 | local compatibility backport
Pieejamā tīrīšanas opcija pēc noklusējuma bija izslēgta un aptvēra tikai daļu no pagaidu un saglabātā atslēgas atvasinātā stāvokļa.
Piemēram, pabeidzot autentifikācijas pārbaudi, ir jānotīra gan pagaidu, gan saglabātie no atslēgas atvasinātie bloki.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: hmac 0.13.0 | local audited patch
SHA-256 un SHA-512 darba stāvokļa un bloku skaitītājiem bija nepieciešama nolaišanas laika tīrīšana saderīgajā filiālē.
Piemēram, jaukšanas noslēpums atslēgas atvasināšanas laikā nedrīkst atstāt jaucējprogrammas darba stāvokli atkārtoti lietojamā atmiņā.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: sha2 0.10.9 | local compatibility backport
Bojāta ievade var pieprasīt milzīgu piešķīrumu, nolasīt ārpus deklarētā lauka, veikt cilpu bez progresa vai izraisīt pārplūdes un panikas ceļus. Arī slepenā vektora diagnostika un daļēja neveiksmīga ievade bija jātīra.
Piemēram, mazs ziņojums, kurā nepatiesi tiek apgalvots, ka tajā ir milzīgs lauks, nedrīkst patērēt milzīgu atmiņu vai iesprostot lietotni bezgalīgā ciklā.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: tls_codec 0.4.2 | local audited patch
STUN ziņojuma integritātes atslēgu varēja izdrukāt diagnostikā, un tā netika tieši izdzēsta ar pagaidu akreditācijas datu tekstu.
Piemēram, savienojuma kļūdu žurnāls nedrīkst atklāt noslēpumu, ko izmanto releja pieprasījuma autentificēšanai.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: stun 0.17.1 | audit patch 6e5cbb42
Ilgstoša TURN parole tika saglabāta kā parasta virkne, un, kad klients tika iznīcināts, tā bija skaidri jādzēš.
Piemēram, pārtraucot zvanu, tā pārraides parole nedrīkst atstāt vecā klienta objekta atmiņā.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: turn 0.17.1 | audit patch 6e5cbb42
TURN lietotājvārdi un paroles tika saglabātas kā parastas virknes un automātiski izdrukātas ICE atkļūdošanas izvadē.
Piemēram, zvanu savienojuma pārskatā var būt norādīts, ka pastāv akreditācijas dati, taču tajā nedrīkst izdrukāt lietotājvārdu un paroli.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: webrtc-ice 0.17.1 | audit patch 6e5cbb42
Multivides atslēgu atvasinājuma ievadei, atvasinātajām atslēgām, saglabātajiem SRTP/SRTCP sāļiem un šifra darba stāvoklim bija nepieciešama uzticama tīrīšana.
Piemēram, pēc šifrētā zvana beigām tā pagaidu multivides atslēgas un sāļi nedrīkst palikt parastajos buferos.
Vietējais labojums ir sagatavots, notiek pārbaude.
Tehniskās detaļas: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
Beta piezīmēm un piekļuves jaunumiem sekojiet manam personīgajam X kontam.