Fase01
VideogesprekkenSpraakberichtenE2E-versleutelingGeen censuurGroepen en kanalenBestanden en mediaBots en mini-appsIngebouwde DeFi
Berichten
Actief
UmbrellaX privé bèta-update
Tijdens ons beveiligingsonderzoek hebben we ernstige problemen aangetroffen in verschillende open-sourcebibliotheken die worden gebruikt voor versleuteling en beveiligde communicatie. Lokale oplossingen zijn gereed, maar vereisen nog steeds volledige verificatie en onafhankelijke beoordeling. Ik zal de bèta niet vrijgeven totdat ik er zeker van ben dat deze risico's zijn uitgesloten.
Hier is de volledige lijst in duidelijke taal. Open een sectie om te zien wat er mis kan gaan, een alledaags voorbeeld en de patchreferentie.
Gedecodeerde groepsgeheimen kunnen extra kopieën in het geheugen of in de diagnose achterlaten. Slechte cijfertekst, welkomstberichten, voorstellen, updatepaden, ontbrekende lokale sleutels, fouten in willekeurige getallen, ongebruikelijke systeemtijd en tijdslimieten kunnen de app sluiten in plaats van een veilige fout te retourneren. Sommige controles op de integriteit van de boom en de padlengte werden ook niet in elk vrijgavepad gegarandeerd.
Een kapotte groepsupdate die van het netwerk wordt ontvangen, moet bijvoorbeeld worden afgewezen zonder de messenger te sluiten, een integriteitscontrole over te slaan of berichtbytes bloot te leggen in een crashrapport.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: 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
Verwijderde of vervangen MLS-records kunnen geserialiseerde kopieën of verborgen voorstelteksten in het geheugen achterlaten. Voor groepsmomentopnamen was uitgebreide atomaire vervanging nodig, toegang voor foutopsporing was redactie nodig en een optionele persistentiemodus bewaarde leesbare gecodeerde tekst in plaats van geverifieerde gecodeerde gegevens.
Als u bijvoorbeeld een groep verwijdert, moeten ook de verborgen, in behandeling zijnde voorstellen worden verwijderd, en een opslagoptie mag er niet gecodeerd uitzien als deze alleen gegevens omzet in leesbare tekst.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
Een ongebruikte optionele backend haalde nog steeds een kwetsbaar pakket naar de afhankelijkheidsinventaris. Privé-materiaal van HPKE had ook een sterkere redactie en geheugenopschoning nodig.
Een backend die we niet gebruiken mag bijvoorbeeld geen bekend kwetsbaar pakket in een release brengen, en een foutafdruk mag nooit een privésleutel van HPKE bevatten.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: hpke-rs 0.6.1 | RUSTSEC-2026-0124
De willekeurige generator en tijdelijke HPKE-waarden moesten echt worden opgeschoond. Mislukte geauthenticeerde decodering kan ook een gedeeltelijk gewijzigde buffer voor platte tekst in het geheugen achterlaten.
Als de authenticatie van een bericht bijvoorbeeld mislukt, moet de halfverwerkte buffer voor platte tekst onmiddellijk worden gewist.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: hpke-rs-rust-crypto 0.6.1 | UMB-122
Willekeurige status, uitvoer van sleutelafleiding, bytes van privésleutels en mislukte coderingsbuffers moesten worden opgeschoond. Ongeldige nonce-lengtes en niet-ondersteunde sleuteluitwisselingsverzoeken kunnen procesbeëindigende paden bereiken.
Een verkeerd opgemaakte nonce moet bijvoorbeeld een normale fout retourneren in plaats van de messenger te sluiten.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
Het ondertekenen van nonces, shares, scalaire bytes en een tijdelijk leesbare geheime tekenreeks moest worden opgeschoond op succes- en foutpaden. Een ongebruikte functie zorgde ook voor een niet-onderhouden afhankelijkheidsketen.
Tijdelijke waarden die voor een groepshandtekening worden gebruikt, mogen bijvoorbeeld niet leesbaar in het geheugen blijven nadat het ondertekenen is voltooid of mislukt.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: frost-core 3.0.0 | local audited patch
Weggegooide pseudo-willekeurige sleutels en tussenliggende sleuteluitbreidingsblokken kunnen in het geheugen achterblijven nadat een definitieve sleutel is geproduceerd.
Nadat een sessiesleutel bijvoorbeeld gereed is, moeten de tijdelijke ingrediënten die zijn gebruikt om deze af te leiden, worden gewist.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: hkdf 0.12.4 | local compatibility backport
Afgeleide sleutelblokken, te grote sleuteloverzichten en interne hashresultaten in de compatibele HMAC-tak kunnen in het gewone geheugen blijven.
Als u bijvoorbeeld controleert of een bericht authentiek is, mogen er geen herbruikbare, van sleutels afgeleide bytes achterblijven.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: hmac 0.12.1 | local compatibility backport
De beschikbare opschoonoptie was standaard uitgeschakeld en dekte slechts een deel van de tijdelijke en opgeslagen sleutelafgeleide status.
Als u bijvoorbeeld een authenticatiecontrole voltooit, moeten zowel tijdelijke als opgeslagen, van sleutels afgeleide blokken worden opgeschoond.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: hmac 0.13.0 | local audited patch
SHA-256- en SHA-512-werkstatus- en bloktellers moesten drop-time worden opgeschoond op de compatibele branch.
Het hashen van een geheim tijdens het afleiden van de sleutel mag bijvoorbeeld de werkende staat van de hash-engine niet in herbruikbaar geheugen achterlaten.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: sha2 0.10.9 | local compatibility backport
Een beschadigde invoer kan om een enorme toewijzing vragen, verder lezen dan het opgegeven veld, een lus maken zonder voortgang, of overflow- en paniekpaden veroorzaken. Geheime vectordiagnostiek en gedeeltelijk mislukte invoer moesten ook worden opgeschoond.
Een klein bericht dat ten onrechte beweert een enorm veld te bevatten, mag bijvoorbeeld geen enorm geheugen in beslag nemen en de app niet in een eindeloze lus laten belanden.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: tls_codec 0.4.2 | local audited patch
De STUN-berichtintegriteitssleutel kon worden afgedrukt in de diagnostische gegevens en werd niet expliciet gewist met tijdelijke referentietekst.
Een logboek met verbindingsfouten mag bijvoorbeeld niet het geheim onthullen dat wordt gebruikt om een relay-verzoek te verifiëren.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: stun 0.17.1 | audit patch 6e5cbb42
Een langlevend TURN-wachtwoord werd opgeslagen als een gewone string en moest expliciet worden gewist toen de client werd vernietigd.
Als u bijvoorbeeld een gesprek beëindigt, mag het relay-wachtwoord niet in het geheugen van het oude clientobject achterblijven.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: turn 0.17.1 | audit patch 6e5cbb42
TURN-gebruikersnamen en wachtwoorden werden opgeslagen als gewone tekenreeksen en automatisch afgedrukt in ICE-foutopsporingsuitvoer.
In een gespreksverbindingsrapport kan bijvoorbeeld worden vermeld dat er inloggegevens aanwezig zijn, maar de gebruikersnaam en het wachtwoord mogen niet worden afgedrukt.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: webrtc-ice 0.17.1 | audit patch 6e5cbb42
De invoer van de mediasleutelafleiding, afgeleide sleutels, opgeslagen SRTP/SRTCP-zouten en de werkstatus van de codering moesten betrouwbaar worden opgeschoond.
Nadat een gecodeerd gesprek is beëindigd, mogen de tijdelijke mediasleutels en salts bijvoorbeeld niet in gewone buffers achterblijven.
Lokale oplossing voorbereid, verificatie bezig.
Technische details: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
Volg mijn persoonlijke X-account voor beta-notities en toegangsupdates.