CVE-2020-15999, CVE-2020-17087: Google Chrome FreeType and Microsoft Windows Kernel Zero Days Exploited in the Wild
04 november 2020
Bron: Google, Tenable
Een paar zero-day kwetsbaarheden in Google Chrome (CVE-2020-15999) en Microsoft Windows (CVE-2020-17087) werden “aan elkaar geketend” en in het wild misbruikt in gerichte aanvallen. Een aparte kwetsbaarheid in Chrome (CVE-2020-16009) is ook in het wild misbruikt.
Achtergrond
Op 20 oktober heeft Google een (stable channel) update voor Chrome for Desktop uitgebracht om vijf security fixes aan te pakken, waarvan er één (CVE-2020-15999) was ontdekt door een lid van het Project Zero onderzoeksteam en in het wild werd misbruikt.
Op 30 oktober tweette Ben Hawkes, een van de oprichters en technisch leider van Project Zero, dat het team een kernel kwetsbaarheid in Microsoft Windows (CVE-2020-17087) had “gedetecteerd en gerapporteerd” die naast de Chrome kwetsbaarheid werd uitgebuit.
Analyse
CVE-2020-15999 is een heap buffer overflow kwetsbaarheid in de “Load_SBit_Png” functie van de FreeType 2 library die wordt gebruikt voor het renderen van lettertypes in een verscheidenheid aan toepassingen, waaronder Google Chrome. De kwetsbaarheid is ontdekt door Sergei Glazunov, een beveiligingsonderzoeker van het Project Zero team. Een aanvaller kon de kwetsbaarheid uitbuiten door gebruik te maken van social engineering om een gebruiker te verleiden een kwaadaardige website te bezoeken die een speciaal gemaakt lettertypebestand bevat. De kwetsbaarheid zou worden getriggerd wanneer deze via de kwaadaardige website wordt geladen.
CVE-2020-17087 is een “pool-based” buffer overflow kwetsbaarheid in de Windows Kernel Cryptografie Driver, cng.sys volgens het Project Zero team. Mateusz Jurczyk, een Project Zero beveiligingsonderzoeker, zegt in de issue tracker van het team dat de fout bestaat in de cng!CfgAdtpFormatPropertyBlock functie als gevolg van een 16-bit integer truncatie.
Door CVE-2020-15999 en CVE-2020-17087 aan elkaar te koppelen (chaining) zou een aanvaller uit de sandbox van Google Chrome kunnen breken. Het exploiteren van een kwetsbaarheid in een browser lijkt misschien nuttig, maar een aanvaller zou nog steeds beperkt zijn in zijn acties door de sandbox-technologie. Daarom is het ontdekken van een haalbare sandbox-ontsnappingskwetsbaarheid een waardevol bezit voor cybercriminelen, omdat zij dergelijke kwetsbaarheden kunnen gebruiken om privileges op het systeem te verhogen of potentieel code uit te voeren, afhankelijk van de aard van de geketende kwetsbaarheden.
Tweede geketende kwetsbaarheid gebruikt om te ontsnappen Chroom zandbak in het afgelopen jaar
Dit is niet de eerste keer dat twee kwetsbaarheden samen worden uitgebuit als onderdeel van gerichte aanvallen in Chrome en Windows. Op 31 oktober 2019 heeft Google CVE-2019-13720 gepatcht, een use-after-free zero-day kwetsbaarheid die in het wild werd uitgebuit. Onderzoekers van Kaspersky werden gecrediteerd voor het ontdekken van de kwetsbaarheid als onderdeel van een gerichte aanvalsoperatie die bekend staat als Operation WizardOpium. Een maand later onthulde Kaspersky dat CVE-2019-13720 werd gebruikt in de Operatie WizardOpium-aanvallen in combinatie met CVE-2019-1458, een verhoging van de kwetsbaarheid in Microsoft Windows om te ontsnappen aan de sandbox van Google Chrome.
Patch voor CVE-2020-17087 wordt verwacht in de November Patch Tuesday
In een tweet zegt Hawkes dat er een oplossing voor de Windows Kernel kwetsbaarheid wordt verwacht op 10 november als onderdeel van Microsoft’s Patch Tuesday release. In zijn tweet stelt Hawkes bij voorbaat dat deze kwetsbaarheden niet in verband worden gebracht met recente aanvallen op de Amerikaanse verkiezingsgerelateerde infrastructuur.
CVE-2020-16009: Google onthult bijkomende kwetsbaarheid die in het wild wordt uitgebuit.
Op 2 november, bracht Google een nieuwe (stable channel) update voor Chrome uit om 10 kwetsbaarheden aan te pakken, waaronder CVE-2020-16009, een kwetsbaarheid in de V8 JavaScript-engine van Google Chrome als gevolg van een “onjuiste implementatie”. De kwetsbaarheid werd ontdekt door beveiligingsonderzoeker Clement Lecigne van Google’s Threat Analysis Group en Samuel Groß van het Project Zero team. De kwetsbaarheid is naar verluidt in het wild uitgebuit, maar er waren geen verdere details beschikbaar op het moment dat dit blogbericht werd gepubliceerd.
Proof of Concept
Glazunov heeft een proof-of-concept (PoC) lettertypebestand gepubliceerd voor CVE-2020-15999, en Marcin Kozlowski heeft ook een in-progress PoC gepubliceerd.
Voor CVE-2020-17087 werd een PoC opgenomen als bijlage bij de Google Project Zero issue tracker entry.
De details voor CVE-2020-16009 waren beperkt op het moment dat deze blogpost werd gepubliceerd en er was geen PoC publiekelijk beschikbaar.
Oplossing
Google heeft CVE-2020-15999 en CVE-2020-16009 geadresseerd in Google Chrome voor Desktop voor Windows, macOS en Linux.
CVE | Fixed Version |
---|---|
CVE-2020-15999 | 86.0.4240.111 |
CVE-2020-16009 | 86.0.4240.183 |
Gebruikers worden sterk aangeraden om zo snel mogelijk te upgraden.
CVE-2020-17087 zal naar verluidt worden vastgesteld als onderdeel van Microsoft’s Patch Tuesday release van november 2020. We zullen deze blogpost updaten zodra die fix beschikbaar is.
Identificeren getroffen systemen
Een lijst met Tenable-plugins om deze kwetsbaarheden te identificeren zal hier verschijnen als ze worden vrijgegeven. Bovendien kunnen onze (managed) klanten onze OS Identificatie-plugin gebruiken om de Windows-middelen te identificeren die moeten worden gepatcht zodra er een patch beschikbaar is.
Meer informatie
- Google Chrome: Stable Channel Update for Desktop (86.0.4240.111)
- FreeType Project Bug Tracker #59308: Heap Buffer Overflow in Load_SBit_Png
- Google Chromium Tracker Issue #1139963: Heap buffer overflow in FreeType
- Google Project Zero Tracker Issue #2104: Pool-based buffer overflow in Windows Kernel
- Google Chrome: Stable Channel Update for Desktop (86.0.4240.138)
Get a free 30-day trial of Tenable.io Vulnerability Management.