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
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.
The OpenSSL 3.0.7 release fixes two HIGH issues. Find out why we downgraded today from CRITICAL in the advisory and blog post https://t.co/sfABUzw5eA
— Mark J Cox (@iamamoose) November 1, 2022
…and everyone was wrong! the issue is memory corruption in the punycode decoder; impacts clients talking to malicious servers, servers with client cert validation talking to malicious clients. code is only reachable post-signature validation: https://t.co/I6JGK12Bto https://t.co/9PFLKoQenf
— HD Moore (@hdmoore) November 1, 2022
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.
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
OpenSSL versie 3.0.7 is uitgebracht om deze kwetsbaarheden te verhelpen. Downloads voor de nieuwe versie vindt u hier.
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.
Cookie | Duur | Omschrijving |
---|---|---|
_GRECAPTCHA | 5 months 27 days | This cookie is set by Google. In addition to certain standard Google cookies, reCAPTCHA sets a necessary cookie (_GRECAPTCHA) when executed for the purpose of providing its risk analysis. |
cookielawinfo-checkbox-advertisement | 1 year | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement". |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
CookieLawInfoConsent | 1 year | Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duur | Omschrijving |
---|---|---|
bcookie | 2 years | This cookie is set by linkedIn. The purpose of the cookie is to enable LinkedIn functionalities on the page. |
lang | session | This cookie is used to store the language preferences of a user to serve up content in that stored language the next time user visit the website. |
lidc | 1 day | This cookie is set by LinkedIn and used for routing. |
Cookie | Duur | Omschrijving |
---|---|---|
YSC | session | This cookies is set by Youtube and is used to track the views of embedded videos. |
Cookie | Duur | Omschrijving |
---|---|---|
_ga | 2 years | This cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors. |
_gat_gtag_UA_116473530_1 | 1 minute | This cookie is set by Google and is used to distinguish users. |
_gat_UA-116473530-1 | 1 minute | This is a pattern type cookie set by Google Analytics, where the pattern element on the name contains the unique identity number of the account or website it relates to. It appears to be a variation of the _gat cookie which is used to limit the amount of data recorded by Google on high traffic volume websites. |
_gid | 1 day | This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form. |
Cookie | Duur | Omschrijving |
---|---|---|
bscookie | 2 years | This cookie is a browser ID cookie set by Linked share Buttons and ad tags. |
IDE | 1 year 24 days | Used by Google DoubleClick and stores information about how the user uses the website and any other advertisement before visiting the website. This is used to present users with ads that are relevant to them according to the user profile. |
prism_476809757 | 1 month | Used by ActiveCampaign to track usage of newsletters |
test_cookie | 15 minutes | This cookie is set by doubleclick.net. The purpose of the cookie is to determine if the user's browser supports cookies. |
VISITOR_INFO1_LIVE | 5 months 27 days | This cookie is set by Youtube. Used to track the information of the embedded YouTube videos on a website. |
yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
Cookie | Duur | Omschrijving |
---|---|---|
AnalyticsSyncHistory | 1 month | No description |
CONSENT | 16 years 7 months 5 days 13 hours | No description |
li_gc | 2 years | No description |
UserMatchHistory | 1 month | Linkedin - Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. |