Google Pixel-bugg låter dig ”packa upp” skärmdumpar från de senaste fyra åren
Redan 2018 fick Pixel-telefoner en inbyggd skärmbildsredigerare som heter Markup med lanseringen av Android 9.0 Pie. Verktyget visas när du tar en skärmdump, och genom att trycka på appens pennikon får du tillgång till verktyg som beskärning och ett antal färgade ritpennor. Detta är mycket praktiskt om man antar att Google Markup-verktyget verkligen gör vad det säger, men den nya sårbarheten indikerar att ändringarna som gjordes av detta verktyg inte var destruktiva! Pixel-skärmdumpar som tagits under de senaste fyra åren kan klippas ut eller oredigeras.
Felet upptäcktes av Simon Aarons och fick namnet ”Acropalypse” eller, mer formellt, CVE-2023-21036. Det finns en experimentell app på acropalypse.app som kan ångra redigering av Pixel-skärmdumpar, och den fungerar faktiskt! Härdet finns också en bra teknisk artikel av Aarons medarbetare David Buchanan. Den huvudsakliga kärnpunkten i problemet är att Googles skärmbildsredigerare skriver över den ursprungliga skärmdumpsfilen med din nya redigerade skärmdump, men den trunkerar eller komprimerar inte den filen på något sätt. Om din redigerade skärmdump har en mindre filstorlek än originalet – mycket lätt att göra med beskärningsverktyget – kommer du att få en PNG med en massa skräp gömt i slutet. Denna skräpdata består av efterföljande bitar av din ursprungliga skärmdump, och i själva verket kan denna data återställas.
Det låter som ett dåligt sätt att skriva ett beskärningsverktyg för skärmdumpar, men till Googles försvar fungerade Android 9-versionen av uppmärkningsverktyget korrekt och beskär den överskrivna filen. Android 10 medförde dock en hel del dramatiska ”Scoped Storage”-ändringar i hur fillagring fungerade i Android. Det är inte klart hur eller varför detta hände, men kanske som en del av den här enorma vågen av filhanteringsåtaganden, tog en odokumenterad förändring in i Android Frameworks filtolkare: ramverkets ”skriv”-läge slutade trunkera överskrivna filer, och en bugg skapades i uppmärkning. Markeringsverktyget förlitade sig på OS-filhantering, och hur det fungerade förändrades i en senare version som ingen verkade lägga märke till.
proof of concept-verktyget på acropalypse.app fungerar utmärkt. Om du råkar ha en okorrigerad Pixel-enhet liggande kan du beskära skärmdumpen, mata in den i verktyget, så får du tillbaka obeskuren data. Det är inte perfekt – du slutar vanligtvis med en illa korrupt PNG med ett stort tomt område, sedan ett band av snygga färger, men du kan ganska tillförlitligt återställa botten av den beskurna bilden. Felet har åtgärdatsi säkerhetsuppdateringen för Pixel från mars 2023, där den flaggades som en säkerhetsrisk. Detta har bara någonsin påverkat Pixel-skärmbildsredigeraren, som sparar PNG-filer genom att skriva över dem, och inte Google Photos-redigeraren, som sparar JPG-filer genom att göra en ny kopia. Så det är vanligtvis beskurna skärmdumpar som är sårbara, inte beskurna kamerabilder, såvida du inte gör något riktigt konstigt som att ta en skärmdump av din kamerautgång.
Men att bara fixa buggen för framtida användare löser inte riktigt problemet. Det finns fortfarande en fråga om Pixel-skärmdumpar från de senaste fyra åren som är tillgängliga och möjligen fulla av dolda data som folk inte insåg att de delade. Om du delar den här skärmdumpen offentligt beror om skärmdumpen är ett dataintrång eller inte på vem som publicerar den. Vissa appar, som Twitter, kommer att komprimera alla uppladdade filer igen, vilket tar bort dolda data från din skärmdump. Om appen istället delar originalfilen kan den tredje parten ta bort din skärmdump. I synnerhet har Discord bekräftats att göra detta, och många andra meddelandeappar använder sannolikt källfilen också.
Lämna ett svar