Een zeer ernstige OpenSSL-fout kan heapgeheugen naar de andere kant van een DTLS-verbinding lekken of het programma laten crashen, zei OpenSSL op 29 september toen het oplossingen uitbracht.
DTLS, de TLS-variant die wordt gebruikt voor UDP-verkeer, verzendt opnieuw een handshake-bericht als er geen antwoord binnenkomt voordat de timer afloopt. Het lek of de crash kan optreden wanneer een dergelijk opnieuw verzenden wordt gestart terwijl een groter handshake-bericht halverwege het verzenden blijft hangen.
De fout, bijgehouden als CVE-2026-84782, is opgelost in OpenSSL 4.0.3, 3.6.5, 3.5.9 en 3.4.8. Vaste versies voor de oudere 3.0-, 1.1.1- en 1.0.2-takken zijn alleen beschikbaar voor klanten die betalen voor de premiumondersteuning van OpenSSL. OpenSSL 3.0 ontvangt sinds 7 september geen openbare beveiligingsoplossingen meer.
OpenSSL heeft niet gezegd of een aanvaller ervoor kan zorgen dat een bericht opnieuw wordt verzonden terwijl een bericht vastzit, en heeft ook geen aanvallen gemeld waarbij misbruik wordt gemaakt van de fout.
DTLS wordt bijvoorbeeld gebruikt om WebRTC-datakanalen te beschermen en om encryptiesleutels voor internetoproepen in te stellen. Software wordt alleen aan deze fout blootgesteld als deze OpenSSL voor DTLS gebruikt.
DTLS splitst een groot handshakebericht in fragmenten die elk in één UDP-datagram passen. Als de verbinding momenteel niet meer gegevens kan accepteren, kan het verzenden halverwege een bericht worden onderbroken en later worden voortgezet. Terwijl het verzenden is gepauzeerd, kan de timer voor opnieuw verzenden nog steeds worden geactiveerd en een eerder bericht opnieuw verzenden.
Vóór de oplossing werd bij het opnieuw verzenden de positie van het gepauzeerde bericht in de buffer gebruikt in plaats van terug te gaan naar het begin van het bericht dat opnieuw werd verzonden. Het kwalijke bericht werd met het verkeerde label verzonden. De hoofdtekst bestond uit overgebleven bytes van het grotere bericht, en het lezen ervan kon de buffer overschrijden.
Het verkeerd gelabelde bericht kan volgens OpenSSL heap-geheugen naar de andere kant transporteren als niet-versleutelde handshake-gegevens. Als het lezen niet-toegewezen geheugen bereikt, crasht het programma.
OpenSSL beperkt de fout niet tot DTLS-clients of servers, en de oplossing ervan werd in beide rollen getest.
Laurent Gaffie van Secorizon meldde de fout op 17 augustus en Ryan Hooper ontwikkelde de oplossing.
OpenSSL beoordeelt de fout als Hoog, één niveau lager dan Kritiek op de ernstschaal. Het beveiligingsbeleid van het project adviseert om updates met hoge fixes zo snel mogelijk te installeren.
CISA gaf de fout op 29 september een CVSS-score van 8,2 op 10, waarbij de impact op de vertrouwelijkheid laag en op de beschikbaarheid hoog werd beoordeeld. CISA’s record vermeldde de uitbuiting op dat moment als “geen”. OpenSSL maakt geen gebruik van CVSS om de ernstclassificaties vast te stellen en zegt dat scores van externe partijen sterk van hen kunnen verschillen.
De beveiligingswaarschuwing van Ubuntu zegt dat een aanvaller de fout mogelijk zou kunnen gebruiken om “onjuist handdrukgedrag of een Denial of Service” te veroorzaken. Er wordt geen melding gemaakt van gelekt geheugen.
Welke versies repareren de fout
De fout treft OpenSSL 4.0, 3.6, 3.5, 3.4, 3.0, 1.1.1 en 1.0.2, in elke release vóór de hieronder weergegeven vaste versie.
|
Tak |
Vaste versie |
Wie kan het krijgen |
Ondersteuningsstatus |
|---|---|---|---|
|
4.0 |
4.0.3 |
Openbaar downloaden |
Ondersteund tot 14 mei 2027 |
|
3.6 |
3.6.5 |
Openbaar downloaden |
Ondersteund tot 1 november 2026 |
|
3.5 |
3.5.9 |
Openbaar downloaden |
Ondersteuningsrelease voor de lange termijn, ondersteund tot 8 april 2030 |
|
3.4 |
3.4.8 |
Openbaar downloaden |
Ondersteund tot 22 oktober 2026 |
|
3.0 |
3.0.23 |
Alleen Premium Support-klanten |
De publieke steun eindigde op 7 september 2026 |
|
1.1.1 |
1.1.1zj |
Alleen Premium Support-klanten |
Geen publieke steun |
|
1.0.2 |
1,0,2 zs |
Alleen Premium Support-klanten |
Geen publieke steun |
|
3.1, 3.2, 3.3 |
Geen vermeld |
Niet van toepassing |
Geen publieke steun. OpenSSL heeft niet gecontroleerd of deze branches getroffen zijn. |
OpenSSL biedt geen oplossing voor gebruikers die nog niet kunnen updaten. Ubuntu repareerde de fout op 29 september in zijn eigen pakketten, die oudere OpenSSL-versienummers behouden:
- Ubuntu 26.04 LTS: libssl3t64 3.5.5-1ubuntu3.6
- Ubuntu 24.04 LTS: libssl3t64 3.0.13-0ubuntu3.16
- Ubuntu 22.04 LTS: libssl3 3.0.2-0ubuntu1.30
Ubuntu-gebruikers moeten na de update opnieuw opstarten om alle wijzigingen door te voeren.
Debian repareerde de fout in Debian 13 met versie 3.5.7-1~deb13u3 van zijn openssl-pakket, uitgebracht als DSA-6531-1. De beveiligingstracker vermeldde Debian 12 nog steeds als kwetsbaar vanaf 07:36 UTC op 30 september.
Wat OpenSSL 3.0-gebruikers kunnen doen
De laatste openbare 3.0-release was 3.0.22, op 25 augustus. Versie 3.0.23 is de eerste 3.0-beveiligingsrelease die OpenSSL niet openbaar heeft gemaakt. Het repareert 6 van de 14 fouten die op 29 september zijn onthuld, waaronder CVE-2026-84782.
Voor Ubuntu 22.04 en 24.04, die OpenSSL 3.0 gebruiken, is de oplossing al beschikbaar in de hierboven genoemde pakketten. Iedereen die OpenSSL 3.0 bouwt of een kopie in zijn eigen software verzendt, heeft geen openbare oplossing van OpenSSL.
OpenSSL raadt aan om te upgraden naar een nieuwere vertakking, zoals 4.0 of de langetermijnondersteuningsversie 3.5. De andere optie is een betaald ondersteuningscontract, dat voortdurende toegang geeft tot beveiligingsoplossingen voor releases waarvan de publieke einddatum is verstreken.
De releases van 29 september repareren 13 andere fouten. De ernstigste daarvan, CVE-2026-84783, heeft de classificatie Matig en heeft alleen betrekking op OpenSSL 4.0.
Een externe, niet-geverifieerde peer zou het kunnen gebruiken om een multi-threaded TLS-client te laten crashen, of een multi-threaded TLS-server die om clientcertificaten vraagt. Dat kan alleen gebeuren als verschillende verbindingen tegelijkertijd hun eerste certificaatketens bouwen op hetzelfde vertrouwde CA-certificaat.
Een andere DTLS-fout, CVE-2026-75806, heeft de beoordeling Laag. Het heeft invloed op bestaande DTLS 1.2-verbindingen die gebruik maken van een AEAD-coderingssuite. Iedereen die een datagram naar zo’n verbinding kan sturen, kan deze beëindigen met een enkel te kort datagram zonder enige sleutel te kennen.
De andere 11 fouten worden ook als laag beoordeeld en omvatten 5 in de QUIC-code van OpenSSL en 3 timingzijkanalen in de ECDSA- en SM2-code.