3min

Onlangs patchten zowel Apple als Google zero-day kwetsbaarheden in hun software. Wat echter niet duidelijk was uit hun bekendmakingen, was dat beide door exact dezelfde bug werden veroorzaakt in het WebP-afbeeldingsformat. Onderzoekers van Rezilion stellen dat de schimmigheid van de techbedrijven rondom deze kwetsbaarheden voor een blinde vlek zorgen op security-gebied.

Begin september detecteerde The Citizen Lab verdachte activiteit op een iPhone van een gebruiker die werkt voor een burgerrechtenorganisatie in Washington DC. De hackers exploiteerden CVE-2023-41061 en CVE-2023-41064 en installeerden spyware op de telefoon van het slachtoffer, waarbij men de beschermingslagen binnen iMessage wisten te omzeilen. Ook ImageIO, het framework van Apple om afbeeldingen te identificeren. Men dichtte het lek snel met een update voor iOS, macOS en watchOS zonder in detail te gaan over welke afbeeldingsformat geëxploiteerd was.

Het WebP-format (oorspronkelijk ontworpen door Google) werd wel genoemd bij kwetsbaarheid CVE-2023-4863, dat medio september bekendgemaakt werd. Hackers konden de zero-day exploiteren om remote code execution uit te voeren, zoals het installeren van ongewenste software. De browsers Chrome, Firefox, Edge, Brave en Vivaldi zijn geüpdatet om het gevaar te weren, ook al stelde Google aanvankelijk dat alleen Chrome kwetsbaar was en niet expliciet alle Chromium-gebaseerde browsers.

Relatie achterhaald

Verschillende security-experts vroegen zich af of beide kwetsbaarheden wellicht dezelfde oorzaak hadden. Zo stelde Will Dormann dat het niet de bedoeling is om dezelfde softwarefout met verschillende CVE-codes aan te wijzen. Immers dient een dergelijke code ervoor te zorgen dat het duidelijk is om welke kwetsbaarheid het gaat en waar deze voorkomt. Zowel CVE-2023-41064 als CVE-2023-4863 zouden voorkomen “in the wild” terwijl ze niet van elkaar onderscheiden dienden te zijn.

Specifiek ging het in beide gevallen om een heap buffer overflow in de libwebp-package van de WebP-codec. Deze wordt gebruikt om afbeeldingen te encoderen of te decoderen. De hoeveelheid data die het programma verwerkt, is variabel. Het is mogelijk om programmeercode te schrijven voorbij de toegestane memory buffer, met remote code execution tot gevolg. De libwebp-package komt miljarden keren voor in onder meer Rust, Python, Node.js en WordPress.

The Citizen Lab aan de University of Toronto’s Munk School meldde aan Apple en Google dat men de kwetsbaarheid ontdekt had. Onderzoekers van Rezilion wisten dit te achterhalen in de documentatie van de security-advisory van Apple en een updatebericht van Google. Vervolgens ging het mis bij de techbedrijven, die een te nauwe verklaring vonden bij de kwetsbaarheden. Google berichtte dat enkel Chrome aangetast was, terwijl Apple de link legde met het eigen ImageIO-framework.

Rezilion waarschuwt voor “false negatives”: wie immers scant op CVE-2023-41064, zal wellicht niks vinden. Dit terwijl men mogelijk wel via CVE-2023-4863 kwetsbaar is voor de fout in het WebP-format. Volgens Rezilion creëren de techgiganten door dergelijke rapportage van kwetsbaarheden een “grote blinde vlek” voor organisaties die enkel vertrouwen op de uitkomst van een securityscanner.

Omdat de rapportage van dergelijke cybergevaren vaak beknopt is, dienen CVE-codes ervoor te zorgen dat iedereen weet om welke kwetsbaarheid het specifiek gaat. Zo was niet te vermoeden dat veel Linux-gebaseerde besturingssystemen eveneens getroffen kunnen worden door de WebP-exploitatie als er niet geüpdatet wordt. Inmiddels zijn die onder andere beschikbaar voor Debian, Ubuntu, RedHat en Oracle Linux. Amazon Linux zou nog geen update uitgebracht hebben.

Lees ook: Microsoft ontdekt kwetsbaarheden in ‘ncurses’ programmeerlibrary