CVE-2022-3786, CVE-2022-3602: High Severity – OpenSSL
01 november 2022
Update 1-11-2022
15:02 Deze blog wordt continu bijgewerkt zodra er meer informatie beschikbaar is rondom OpenSSL.
17:00 Voorlopige analyse kwetsbaarheden
17:18 Severity downgraded from Critical to High
18:32 Toevoegingen analyse en detectie mogelijkheden
Er is een update aangekondigd voor een ernstige kwetsbaarheid in OpenSSL 3.0.0 – 3.06.
Is it the new Heartbleed or just a bleeding distraction?
Release Advisory: https://www.openssl.org/news/secadv/20221101.txt
bronnen: Access42, Malwaretech, OpenSSL, Tenable
Achtergrond
Op 25 oktober kondigde OpenSSL aan dat een aanstaande release van OpenSSL versie 3.0.7 een patch zou bevatten voor een kritiek lek. Die aankondiging kwam een week voor de release, waardoor er voldoende tijd was om te speculeren over de aard en de impact van het lek.
Op 1 november bracht OpenSSL versie 3.0.7 uit en paste zijn aankondiging aan met de mededeling dat uit onderzoek in de tussenliggende week bleek dat een kwetsbaarheid die oorspronkelijk kritiek leek te zijn, slechts ernstig was. De release bevatte ook een tweede ernstig lek. Met de release van 3.0.7 heeft OpenSSL CVE-2022-3786 en CVE-2022-3602 gepatcht, twee buffer overflows die kunnen leiden tot denial of service. Ze treffen OpenSSL-versies 3.0 en later, die sinds september 2021 beschikbaar zijn.
OpenSSL is een bibliotheek die gebruikt wordt voor cryptografische doeleinden, vooral op het gebied van netwerkverbindingen. Webservers gebruiken OpenSSL bijvoorbeeld vaak om versleutelde HTTPS-verbindingen tot stand te brengen. Mailservers en VPN-protocollen zoals OpenVPN gebruiken ook OpenSSL om versleutelde communicatiekanalen tot stand te brengen. De bibliotheek is te vinden in een breed scala aan producten, waaronder netwerkapparatuur, embedded systemen en container images.
Op het moment van de eerste publicatie zijn er geen publieke proof-of-concept beschikbaar of meldingen van exploitatie in het wild voor beide gebreken.
Hoewel de kans op grootschalige exploitatie gering is, moeten organisaties prioriteit geven aan het patchen van getroffen toepassingen en diensten zodra er updates beschikbaar zijn.
Analyse
CVE-2022-3786 en CVE-2022-3602 zijn buffer overrun kwetsbaarheden in de “name constraint checking” functie van de X.509 certificaat verificatie in OpenSSL. Beide kwetsbaarheden zijn als HOOG geclassificeerd. Exploitatie vindt plaats wanneer een certificaat een speciaal ontworpen punycode-gecodeerd e-mailadres bevat dat ontworpen is om de buffer overrun te activeren. Succesvolle exploitatie kan leiden tot een DOS-conditie (denial of service).
CVE-2022-3602 werd oorspronkelijk als kritiek beschouwd vanwege de mogelijkheid van remote code execution (RCE). Tijdens het pre-notificatieproces stelde OpenSSL echter vast dat de mogelijkheid van RCE werd beperkt door het feit dat moderne platforms stackoverflow beschermingen bevatten en dat in sommige Linux-distributies zowel RCE als DOS niet mogelijk waren. Over het algemeen is het risico voor RCE laag, maar niet nul, en daarom werd de ernst van de kwetsbaarheid veranderd van kritiek naar hoog.
Om beide zwakke plekken uit te buiten, zou een aanvaller een certificaatautoriteit moeten overtuigen om een kwaadaardig certificaat te ondertekenen of “voor de toepassing om door te gaan met de certificaatverificatie ondanks dat er geen pad is naar een vertrouwde uitgever”.
OpenSSL zegt dat deze gebreken werden geïntroduceerd in OpenSSL 3.0.0 na de toevoeging van zijn punycode-decoderingsfunctionaliteit, die wordt gebruikt voor de “verwerking van naambeperkingen van e-mailadressen in X.509-certificaten”. Daarom is dit lek alleen van invloed op OpenSSL 3.0.0 tot en met OpenSSL 3.0.6.
https://www.openssl.org/news/openssl-3.0-notes.html
Oplossing
OpenSSL versie 3.0.7 is uitgebracht om deze kwetsbaarheden te verhelpen. Downloads voor de nieuwe versie vindt u hier.
Kwetsbare systemen
Belangrijke opmerking: OpenSSL 3 is niet hetzelfde als SSLv3. Deze kwetsbaarheid bestaat alleen in OpenSSL versie 3 en niet in SSLv3.
De kwetsbaarheid treft alleen OpenSSL versie 3.0.0 tot 3.0.6, waarbij de patch in versie 3.0.7 wordt geleverd. Producten die OpenSSL 1.0.2 of 1.1.1 gebruiken zijn niet getroffen. Doordat OpenSSL 3.0.0 in september 2021 is uitgebracht, is het veel minder wijdverspreid dan eerdere versies. Gezien de zeer recente releasedatum is het onwaarschijnlijk dat oudere apparaten met een hardcoded OpenSSL-versie kwetsbaar zijn.
NCSC-NL heeft hier een nuttige lijst van bevestigde getroffen/kwetsbare software: https://github.com/NCSC-NL/OpenSSL-2022/tree/main/software
Een lijst van Tenable plugins om deze kwetsbaarheden te identificeren zal hier verschijnen als ze worden vrijgegeven. Deze link gebruikt een zoekfilter om ervoor te zorgen dat alle passende plugins verschijnen zodra ze zijn uitgebracht. Daarnaast kunnen de plugins in deze lijst worden gebruikt voor algemene OpenSSL versie detectie.