Met de Google Pixel-bug kun je screenshots van de afgelopen vier jaar “uitpakken”.
In 2018 kregen Pixel-telefoons een ingebouwde screenshot-editor genaamd Markup met de release van Android 9.0 Pie. De tool verschijnt telkens wanneer u een screenshot maakt en als u op het penpictogram van de app tikt, krijgt u toegang tot tools zoals bijsnijden en een aantal gekleurde tekenpennen. Dit is erg handig ervan uitgaande dat de Google Markup-tool inderdaad doet wat het zegt, maar de nieuwe kwetsbaarheid geeft aan dat de wijzigingen die door deze tool zijn aangebracht in feite niet destructief waren! Pixel-screenshots die in de afgelopen vier jaar zijn gemaakt, kunnen worden geknipt of onbewerkt.
De bug werd ontdekt door Simon Aarons en kreeg de naam “Acropalypse” of, formeler, CVE-2023-21036. Er is een experimentele app op acropalypse.app die het bewerken van Pixel-screenshots ongedaan kan maken, en het werkt echt! Hierer is ook een goed technisch artikel van Aarons medewerker David Buchanan. De kern van het probleem is dat de screenshot-editor van Google het originele screenshot-bestand overschrijft met je nieuwe bewerkte screenshot, maar dat bestand op geen enkele manier afkapt of comprimeert. Als je bewerkte schermafbeelding een kleinere bestandsgrootte heeft dan het origineel – heel gemakkelijk te doen met het gereedschap Bijsnijden – krijg je een PNG met aan het einde een hoop rommel verborgen. Deze ongewenste gegevens bestaan uit de achterliggende bits van uw originele screenshot en in feite kunnen deze gegevens worden hersteld.
Het klinkt als een slechte manier om een tool voor het bijsnijden van screenshots te schrijven, maar ter verdediging van Google werkte de Android 9-versie van de markup-tool correct en sneed het overschreven bestand bij. Android 10 bracht echter veel dramatische “Scoped Storage” -veranderingen met zich mee in de manier waarop bestandsopslag werkte in Android. Het is niet duidelijk hoe of waarom dit is gebeurd, maar misschien als onderdeel van deze enorme golf van commits voor bestandsverwerking, is er een ongedocumenteerde wijziging in de bestandsparser van het Android Framework terechtgekomen: de “write”-modus van het framework stopte met het afkappen van overschreven bestanden, en er werd een bug gemaakt in markup. De markup-tool was afhankelijk van de bestandsverwerking van het besturingssysteem en de manier waarop het werkte, veranderde in een latere release die niemand leek op te merken.
De proof of concept-tool op acropalypse.app werkt geweldig. Als je toevallig een niet-gecorrigeerd Pixel-apparaat hebt liggen, kun je de schermafbeelding bijsnijden, in de tool invoeren en krijg je de niet-bijgesneden gegevens terug. Het is niet perfect – je krijgt meestal een zwaar beschadigd PNG-bestand met een groot leeg gebied en vervolgens een strook mooie kleuren, maar je kunt de onderkant van de bijgesneden afbeelding redelijk betrouwbaar herstellen. De fout is verholpenin de Pixel-beveiligingsupdate van maart 2023, waar het werd gemarkeerd als een hoog beveiligingslek. Dit heeft alleen invloed gehad op de Pixel-screenshot-editor, die PNG’s opslaat door ze te overschrijven, en niet op de Google Foto’s-editor, die JPG’s opslaat door een nieuwe kopie te maken. Het zijn dus meestal bijgesneden screenshots die kwetsbaar zijn, geen bijgesneden camerafoto’s, tenzij je iets heel raars doet, zoals een screenshot maken van je camera-uitvoer.
Het simpelweg oplossen van de bug voor toekomstige gebruikers lost het probleem echter niet echt op. Er is nog steeds een vraag over Pixel-screenshots van de afgelopen vier jaar die beschikbaar zijn en mogelijk vol verborgen gegevens waarvan mensen niet wisten dat ze ze deelden. Als je dit screenshot openbaar deelt, hangt het af van wie het plaatst of het screenshot een datalek is. Sommige apps, zoals Twitter, zullen alle geüploade bestanden opnieuw comprimeren, waardoor verborgen gegevens uit je screenshot worden verwijderd. Als de app in plaats daarvan het originele bestand deelt, kan de derde partij uw screenshot ongedaan maken. Met name is bevestigd dat Discord dit doet, en veel andere berichten-apps gebruiken waarschijnlijk ook het bronbestand.
Geef een reactie