
Co znajdziesz w tym artykule?
- 1 Wprowadzenie do problemu / definicja luki
- 2 W skrócie
- 3 Kontekst / historia / powiązania
- 4 Analiza techniczna / szczegóły luki
- 5 Praktyczne konsekwencje / ryzyko
- 6 Rekomendacje operacyjne / co zrobić teraz
- 7 Różnice / porównania z innymi przypadkami (jeśli dotyczy)
- 8 Podsumowanie / kluczowe wnioski
- 9 Źródła / bibliografia
Wprowadzenie do problemu / definicja luki
Pixnapping to nowa klasa ataków na Androida pozwalająca złośliwej aplikacji „podejrzeć” zawartość ekranu innej aplikacji lub witryny – jakby robiła jej zdalny zrzut, ale bez uprawnień i bez interakcji użytkownika. Badacze pokazali, że możliwe jest m.in. odczytanie kodów 2FA z Google Authenticator, fragmentów Gmaila czy treści z aplikacji Signal i Venmo. Google przypisało podatności identyfikator CVE-2025-48561. Częściowa łatka znalazła się w biuletynie zabezpieczeń z września 2025, a pełniejsze poprawki Google zapowiada na grudzień 2025. Nie ma śladów wykorzystania „in the wild”.
W skrócie
- Co to jest: Ramy ataku, które umożliwiają wyciek pikseli z ekranu innej aplikacji/strony poprzez zestaw legalnych API Androida i kanał boczny w GPU.
- Na co działa: Zademonstrowano na Pixel 6–9 i Samsung Galaxy S25 (Android 13–16, do buildu BP3A.250905.014). Inne urządzenia najpewniej też są podatne.
- Uprawnienia: Brak – złośliwa aplikacja nie potrzebuje żadnych zezwoleń w manifeście.
- Szybkość wycieku: ~0,6–2,1 piksela/s – wystarczająco do odzyskania 6-cyfrowych kodów TOTP.
- Status łatek: Wrzesień 2025 – częściowa, obejście istnieje; zapowiedziano kolejną w grudniu 2025.
Kontekst / historia / powiązania
Pixnapping łączy dwie linie badań:
- GPU.zip – kanał boczny wynikający z zależnej od danych, transparentnej dla oprogramowania kompresji graficznej w nowoczesnych GPU. Pozwala wnioskować o kolorze pikseli na podstawie czasu renderowania/pasmo pamięci.
- Android Custom Tabs / „Tabbed Out” – analiza modelu bezpieczeństwa komponentu Custom Tabs (IEEE S&P 2024), która zainspirowała część wektora inicjowania renderowania zawartości ofiary.
Artykuł The Register z 13 października 2025 opisuje Pixnapping i przytacza stanowisko Google o częściowej łatce (wrzesień) oraz planach na grudzień.
Analiza techniczna / szczegóły luki
Model zagrożenia. Zainstalowana aplikacja (bez specjalnych uprawnień) inicjuje sekwencję, w której:
- Wypycha piksele ofiary do potoku renderowania – np. uruchamia Google Authenticator/Gmail poprzez Android Intents, aby ich UI został narysowany.
- Nakłada półprzezroczyste „Activities” nad wybranym obszarem ekranu i indukuje operacje graficzne (użyto window blur API). Czas renderowania zależy od danych (koloru piksela).
- Mierzy czas (VSync callbacks) i przez kanał boczny GPU.zip odtwarza wartości pikseli – następnie OCR składa znaki (np. cyfry TOTP).
Dlaczego to działa? W GPU (np. Mali w Pixelach) bezstratna kompresja graficzna ma współczynnik kompresji zależny od danych, co przekłada się na różnice w czasie renderowania/zużyciu przepustowości – możliwe do pomiaru z aplikacji użytkownika.
Identyfikator CVE i metryki. CVE-2025-48561 opisuje ujawnienie informacji przez kanał boczny w wielu miejscach kodu, bez wymaganych dodatkowych uprawnień i bez interakcji użytkownika. NVD klasyfikuje ją obecnie (CVSS 3.x) jako MEDIUM 5.5 (ocena może ulec zmianie wraz z uzupełnieniem metadanych).
Łatki Google. Pierwsza zmiana ogranicza liczbę wywołań rozmycia (blur) akceptowanych przez system kompozytujący SurfaceFlinger („Don’t blur too many layers”, limit 10 „front-most” blurów). Badacze wskazują jednak, że znaleźli obejście – szczegóły pod embargiem. Kolejne poprawki zapowiedziano na grudzień 2025.
Praktyczne konsekwencje / ryzyko
- Wykradanie kodów 2FA (TOTP) z aplikacji wyświetlających je wprost (np. Google Authenticator). To realnie obniża skuteczność MFA opartego wyłącznie na TOTP na podatnych urządzeniach.
- Podgląd treści komunikatorów i e-maili, jeśli ekran aplikacji jest renderowany w momencie ataku.
- Fingerprinting aplikacji zainstalowanych w systemie – badacze wskazują wektor ominięcia mechanizmów prywatności listy aplikacji (Google ocenił „won’t fix (infeasible)”).
- Brak uprawnień → potencjalnie większa skala dystrybucji w razie pojawienia się malware’u wykorzystującego exploit (choć Google deklaruje, że na Play nie wykryto takich aplikacji).
Rekomendacje operacyjne / co zrobić teraz
Dla zespołów SecOps / MDM (organizacje):
- Wymuś aktualizacje systemu – natychmiast instaluj poprawki z września 2025 i egzekwuj instalację po grudniowym biuletynie. Ustal wskaźniki zgodności (compliance) na poziomie floty.
- Tymczasowe zasady aplikacyjne:
- Ogranicz użycie lokalnych aplikacji TOTP na urządzeniach o wysokim ryzyku; preferuj FIDO2/WebAuthn/klucze sprzętowe lub push-MFA z potwierdzeniem kontekstowym. (Wniosek na podstawie ryzyka opisanego przez badaczy).
- W politykach EDR/MDM monitoruj nietypowe nakładanie Activities i intensywne wywołania blur (heurystyka na wzorzec PoC). (Wniosek na podstawie patcha i opisu ataku).
- Hardening przeglądarki/aplikacji biznesowych: Włączaj tryby ograniczające osadzanie (X-Frame-Options/CSP frame-ancestors) oraz przegląd konfiguracji Custom Tabs (np. Ephemeral Tabs, jeśli dostępne). (Kontekst badań „Tabbed Out”).
Dla deweloperów Android:
- Minimalizuj ekspozycję wrażliwych danych na UI (maskowanie, ukrywanie kodów TOTP, skrócone okno wyświetlania). To nie eliminuje luki systemowej, ale zmniejsza powierzchnię ataku. (Wniosek na podstawie modelu wycieku pikseli).
- Wykrywaj nakładki/„draw over” i nietypowe przełączanie się Activities nad Twoją aplikacją; w razie detekcji ukrywaj wrażliwe elementy UI. (Heurystyka defensywna wynikająca z opisu PoC).
- Rozważ weryfikację kontekstu przed renderowaniem sekretów (np. wymuszenie interakcji, dodatkowy unlock, brak aktywnych nakładek). (Wniosek na podstawie wektora ataku).
Dla użytkowników:
- Aktualizuj Androida jak tylko pojawi się poprawka; ogranicz instalację aplikacji spoza Google Play. Google deklaruje, że nie wykryto aplikacji wykorzystujących CVE-2025-48561 w Play.
- Preferuj MFA odporne na podsłuch (klucze bezpieczeństwa/FIDO2) tam, gdzie to możliwe. (Rekomendacja wynikająca z natury ataku na TOTP).
Różnice / porównania z innymi przypadkami (jeśli dotyczy)
- Klasyczne ataki iframe/timing (2013) zostały w dużej mierze zmitigowane w przeglądarkach. Pixnapping wskrzesza ideę „kradzieży pikseli”, ale poza przeglądarką – na poziomie stosów UI Androida + kanału GPU.
- GPU.zip (2023/2024) pokazał, że kompresja graficzna sama w sobie jest kanałem bocznym. Pixnapping wykorzystuje podobną obserwację, lecz łączy ją z nakładaniem Activities i blur API, co daje praktyczny wyciek z natywnych aplikacji mobilnych.
Podsumowanie / kluczowe wnioski
Pixnapping (CVE-2025-48561) to realny, choć niskoprzepustowy, wektor boczny na Androidzie, zdolny do kradzieży kodów 2FA i fragmentów danych aplikacji bez uprawnień. Częściowe łatanie po stronie Androida (limitowanie wywołań „blur”) nie zamyka jeszcze problemu – badacze wskazują obejście, a pełniejsze poprawki są w drodze. Organizacje powinny przyspieszyć patchowanie oraz ograniczyć zależność od TOTP na urządzeniach mobilnych wysokiego ryzyka, preferując FIDO2.
Źródła / bibliografia
- Strona projektu Pixnapping (paper, Q&A, timeline). (pixnapping.com)
- The Register: „Android ‘Pixnapping’ attack can capture app data like 2FA codes” (13.10.2025). (The Register)
- NVD: wpis CVE-2025-48561 (opis, metryki). (NVD)
- Android AOSP / googlesource: commit „Don’t blur too many layers” (ograniczenie wywołań blur). (Android Git Repositories)
- GPU.zip – strona i preprint (kanał boczny kompresji graficznej). (hertzbleed.com)