Beschrijving
Het OpenSSL Project team heeft op dinsdag 25 oktober 2022 een vooraankondiging gedaan over een kritieke kwetsbaarheid in OpenSSL 3.x zonder daarbij verdere details te vermelden. Binnen het OpenSSL project wordt een eigen risicoclassificering gebruikt. Een kritieke kwetsbaarheid betreft een veelvoorkomende configuratie die waarschijnlijk te misbruiken is. Voorbeelden zijn het uitlezen van het werkgeheugen van de server, het achterhalen van de geheime certificaat-sleutels, en het uitvoeren van van code op de server (remote code execution, RCE).
Op dinsdag 1 november 2022 omstreeks 16:30 is bekendgemaakt dat deze kwetsbaarheid een buffer overrun betreft in het valideren van e-mailadressen in certificaten. Deze validatie vindt echter pas plaats nadat de digitale handtekening van het bovenliggende certificaat is gecontroleerd en vereist dus dat de aanvaller gebruikmaakt van een digitaal certificaat dat is ondertekend/uitgegeven door een vertrouwde/ondersteunde Certificate Authority (CA). Een aanvaller kan een malafide e-mailadres opnemen in een certificaat om in totaal vier bytes te overlopen op de stack. Deze buffer overflow kan resulteren in een Denial of Service (DOS) en zou in theorie kunnen leiden tot Remote Code Execution (RCE). De exacte impact is sterk afhankelijk van het platform waarop de kwetsbaarheid wordt misbruikt; zo hebben diverse onderzoekers aangegeven dat op veel platformen deze buffer overrun niet kan worden uitgebuit vanwege platform-afhankelijke beperkingen/maatregelen.
Mede door de eerdergenoemde onderzoeksuitkomsten, is de bekendmaking van de kwetsbaarheid gepaard gegaan met het verlagen van de initiële risicoclassificatie ‘Kritiek’ naar uiteindelijk ‘Hoog’.
Kwetsbare versies
De kwetsbaarheden bevinden zich in versie 3 van OpenSSL, specifiek versie 3.0.0 t/m 3.0.6. Oudere versies van OpenSSL (versie 1) bevatten deze kwetsbaarheden dus niet. Houd er wel rekening mee dat bij OpenSSL versie 1 alleen OpenSSL 1.1.1 nog wordt ondersteund en dat dit niet geldt voor oudere versies (1.0.X).
Het is zeer goed mogelijk dat OpenSSL binnen de organisatie in gebruik is als onderdeel van bijvoorbeeld een besturingssysteem, netwerkcomponent, appliance of applicatie. Aangezien OpenSSL versie 3 relatief kortgeleden is uitgebracht (September 2021), zijn de meeste toepassingen nog gebaseerd op versie 1 van OpenSSL. Om vast te kunnen stellen of toepassingen binnen de infrastructuur gebruikmaken van een kwetsbare versie van OpenSSL, raden wij aan het uitgebreide – en steeds groeiende overzicht – te monitoren dat het Nederlandse Nationaal Cyber Security Centrum (NCSC) bijhoudt op https://github.com/NCSC-NL/OpenSSL-2022/tree/main/software.
Oplossing en workarounds
OpenSSL heeft versie 3.0.7 uitgebracht om de kwetsbaarheid te verhelpen. Deze broncode-patch moet verwerkt worden in de verschillende producten die gebruikmaken van deze bibliotheek. Maak daarom gebruik van de patch/update die uitgebracht is door de leverancier van het product (indien deze reeds beschikbaar is).
De kwetsbaarheden kunnen op servers alleen worden misbruikt indien deze gebruikmaken van authenticatie op basis van digitale (X.509) client-certificaten. Als workaround noemt OpenSSL de mogelijkheid om deze authenticatie (tijdelijk) uit te schakelen; deze afweging zal situatie-afhankelijk genomen moeten worden aangezien het uitschakelen hiervan mogelijk nog grotere risico’s introduceert.
Meer informatie
OpenSSL advisory: https://mta.openssl.org/pipermail/openssl-announce/2022-November/000241.html
OpenSSL blog: https://www.openssl.org/blog/blog/2022/11/01/email-address-overflows/
Vragen
Voor vragen m.b.t. dit issue kunt u contact opnemen met de Pinewood Servicedesk (015 750 36 33) of via e-mail soc@pinewood.nl.
=====ENGLISH VERSION========
Description
On Tuesday the 25th of October 2022, the OpenSSL Project team made an announcement about a critical vulnerability in OpenSSL 3.x without providing any details. A critical vulnerability affects common configurations and is also likely to be exploitable. Examples include significant disclosure of the contents of server memory (potentially revealing user details), vulnerabilities which can be easily exploited remotely to compromise server private keys or where remote code execution is considered likely in common situations.
On Tuesday the 1st of November at around 16:30 CEST, the OpenSSL Project team provided details on the previously announced vulnerability. A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Note that this occurs after certificate chain signature verification and requires either a Certificate Authority (CA) to have signed the malicious certificate or for the application to continue certificate verification despite failure to construct a path to a trusted issuer. An attacker can craft a malicious email address to overflow four attacker-controlled bytes on the stack. This buffer overflow could result in a crash causing a Denial of Service (DoS) or potentially Remote Code Execution (RCE). However, the exact impact is highly dependent on the platform on which the vulnerability is being exploited. Several researchers have indicated that on many platforms this buffer overrun cannot be exploited due to platform-dependent restrictions.
Partly due to the aforementioned research results, the disclosure of the vulnerability was accompanied by a lowering of the initial risk classification from ‘Critical’ to ‘High’.
Vulnerable versions
The vulnerabilities exist in OpenSSL version 3, specifically version 3.0.0 – 3.0.6. Older versions of OpenSSL (version 1) are not vulnerable. Keep in mind that with OpenSSL version 1 only OpenSSL 1.1.1 is still actively supported and not older versions (1.0.X).
OpenSSL is possibliy in use within the organisation as part of e.g. an operating system, network component, appliance or application. Because OpenSSL version 3 was released quite recently (September 2021), most systems will still be using OpenSSL version 1. To determine if vulnerable versions of OpenSSL are in use within the infrastructure, we advise you to closely monitor the extensive – and continuously expanding – overview administered by the Dutch National Cyber Security Center at https://github.com/NCSC-NL/OpenSSL-2022/tree/main/software.
Solutions and workarounds
OpenSSL released version 3.0.7 to fix the vulnerability. This is a source code patch that needs to be compiled into the different products that make use of this library. We therefore advise you to install the patch/update released by the vendor of the product (if available).
The vulnerabilities can only be exploited on servers if these are configured for client authentication based on (X.509) digital client certificates. As a workaround, OpenSSL proposes to (temporarily) disable this type of authentication; as doing this might introduce even greater risks, this workaround should only be implemented if this is appropriate for the specific environment.
Extra info
OpenSSL advisory: https://mta.openssl.org/pipermail/openssl-announce/2022-November/000241.html
OpenSSL blog: https://www.openssl.org/blog/blog/2022/11/01/email-address-overflows/
Questions
For questions related to these vulnerabilitie(s), please contact the Pinewood Servicedesk (015 750 36 33) or via e-mail soc@pinewood.nl.