CVE-2025-21042 — RCE w libimagecodec.quram.so (Samsung Galaxy)

securitybeztabu.pl 1 dzień temu

TL;DR

  • Krytyczny błąd out‑of‑bounds write w bibliotece obrazu libimagecodec.quram.so na urządzeniach Samsung umożliwia zdalne wykonanie kodu podczas przetwarzania specjalnie spreparowanego pliku DNG; załatany w SMR Apr‑2025 Release 1.
  • NVD ocenia bazowy CVSS 3.1 = 9.8 (UI:N), podczas gdy ocena producenta wskazuje 8.8 (UI:R) — różnica wynika z interpretacji wymaganej interakcji użytkownika.
  • CISA dodała CVE-2025-21042 do KEV (11‑10‑2025), wymagając szybkiego wdrożenia łatek.
  • W kampanii LANDFALL złośliwe DNG przekazywano m.in. przez komunikatory; po exploicie ładowano komponenty spyware i łączono się z C2.
  • Dla SOC: wykrywaj krótki łańcuch pobranie DNG → crash/SEGSEGV libimagecodec → outbound HTTPS C2, waliduj poziom SMR, izoluj urządzenia przez MDM.

Krótka definicja techniczna

CVE‑2025‑21042 to podatność typu out‑of‑bounds write w libimagecodec.quram.so (komponent parsowania obrazów na Androidzie Samsunga). Przetworzenie specjalnie spreparowanego pliku obrazu może skutkować zdalnym wykonaniem kodu. Problem został zaadresowany w Samsung Mobile Security Maintenance Release (SMR) Apr‑2025 Release 1.

Gdzie występuje / przykłady platform

  • Android (Samsung Galaxy): biblioteka libimagecodec.quram.so; podatność aktywuje się podczas parsowania zawartości (np. DNG). Patch dostępny od SMR Apr‑2025 R1.
  • Komunikatory / aplikacje konsumenckie: kampania LANDFALL wykorzystywała spreparowane pliki DNG (często dostarczane przez komunikator), co prowadziło do RCE i doinstalowania komponentów spyware.
  • Windows / AD / AWS / Azure / GCP / K8s / ESXi / M365: nie dotyczy bezpośrednio (wektor dotyczy urządzeń mobilnych i ich aplikacji). W środowiskach korporacyjnych wpływ występuje pośrednio (MDM/EDR dla Android, serwisy proxy/DLP).

Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)

Wadliwe sprawdzenie granic bufora w libimagecodec.quram.so pozwala nadpisać pamięć podczas dekodowania obrazu. W obserwowanej kampanii LANDFALL nośnikiem były pliki DNG (TIFF‑like), do których dodano na końcu zarchiwizowane komponenty (ZIP). Po skutecznym RCE łańcuch wyodrębniał i uruchamiał .so loadera, który dalej pobierał moduły spyware i nawiązywał łączność z C2. Samsung usunął błąd w SMR Apr‑2025 R1; CISA klasyfikuje podatność jako aktywnie wykorzystywaną (KEV). Skuteczność wynika z: szerokiej powierzchni ataku (rendering obrazów przez aplikacje), trudności w inspekcji treści binarnej obrazów oraz łańcucha, który minimalizuje artefakty instalacyjne.

Uwaga o ocenach: NVD przypisał CVSS 9.8 (UI:N), a producent 8.8 (UI:R) — w praktyce obserwowano scenariusz z dostarczeniem przez usługę/komunikator; nie wszystkie warianty muszą wymagać interakcji użytkownika.

Artefakty i logi (co i gdzie szukać)

WarstwaŹródło/logCo szukaćPrzykład/wzorzec
Android (urządzenie)logcat (crash, events)Crashe mediaserver/procesu parsującego z odniesieniem do libimagecodec.quram.so; SIGSEGV/signal 11message:*libimagecodec.quram.so* AND (*SIGSEGV* OR *signal 11*)
Android (tombstones)/data/tombstones/Backtrace z ramką w libimagecodec.quram.so; offsety w dekoderze obrazuplik tombstone_*.txt z backtrace ... libimagecodec.quram.so
Aplikacje/IOŚcieżki plików aplikacji (np. media z komunikatora)Świeżo zapisane pliki .dng poprzedzające crash.../Media/.../*.dng (czas modyfikacji ≈ czas crasha)
Sieć/Proxy/NGFWHTTP(S) transakcje z CDN komunikatora; odpowiedzi image/x-adobe-dngNietypowo duże DNG; anomalia UA; po pobraniu — połączenia do rzadkich domen (C2)content_type=image/x-adobe-dng AND bytes_in > N potem dst_category=unknown
MDM/MTD/EDR MobileInwentarz wersji / zgodność patchyPoziom SMR < Apr‑2025 R1raport zgodności MDM: brak łat bezpieczeństwa kwiecień 2025
M365/Defender AHDeviceTvmSoftwareVulnerabilities (jeśli dostępne dla Android)Wzmianki o CVE-2025-21042 na urządzeniach mobilnychCveId == "CVE-2025-21042"
AWS CloudTrailNie dotyczy (wektor mobilny)
K8s auditNie dotyczy
M365 OperationsPośrednio: alerty DLP/Defender na strumienie C2wzmianki o anomaliach HTTP(S) po crashu

Źródła techniczne o wektorze i łatce: NVD/Samsung/Unit42.

Detekcja (praktyczne reguły)

Sigma (Android logcat — crash dekodera obrazu)

title: CVE-2025-21042 — podejrzenie exploitu (crash libimagecodec.quram.so po DNG) id: 5f2b0a2b-2f9d-4b64-9f3e-c21042dng status: experimental description: Wykrywa crash parsowania obrazu z odniesieniem do libimagecodec.quram.so po zapisaniu pliku .dng (np. z komunikatora) author: Badacz CVE date: 2025/11/11 logsource: product: android service: logcat detection: crash: message|contains: - 'libimagecodec.quram.so' - 'SIGSEGV' dng_hint: message|contains: - '.dng' condition: crash and dng_hint falsepositives: - Rzadkie awarie libimagecodec podczas obróbki prawidłowych plików level: high tags: - cve.2025-21042 - attack.t1658 - attack.t1664

Splunk (SPL) — korelacja: zapis DNG → crash → wyjście HTTPS

| tstats summariesonly=f allow_old_summaries=t count from datamodel=Endpoint.Filesystem where Filesystem.file_extension=dng by _time, Filesystem.dest, Filesystem.file_name, Filesystem.file_path | rename Filesystem.dest as device, Filesystem.file_name as fname, Filesystem.file_path as fpath | join device [ search index=android sourcetype=logcat (libimagecodec.quram.so AND (SIGSEGV OR "signal 11")) | stats earliest(_time) as crash_time by host | rename host as device ] | where abs(crash_time - _time) <= 300 | join device [ search index=proxy OR index=fw (dest_category=unknown OR category="newly_seen") | stats latest(_time) as c2_time by src_ip, cs_host | rename src_ip as device ] | table device, fname, fpath, _time, crash_time, c2_time, cs_host

KQL (Microsoft 365 Defender — Advanced Hunting)

  1. Widok podatności (TVM), jeżeli dostępny dla Androida:
DeviceTvmSoftwareVulnerabilities | where CveId == "CVE-2025-21042" | summarize dcount(DeviceId) by SoftwareVendor, SoftwareName
  1. Korelacja crashu i potencjalnej aktywności sieciowej:
let CrashWin = 5m; let crashes = DeviceEvents | where DeviceType == "Android" | where ActionType in ("ApplicationCrashed","ExploitAttempted","AbnormalProcessTermination") | where AdditionalFields has "libimagecodec.quram.so"; let dngWrites = DeviceFileEvents | where DeviceType == "Android" | where FileName endswith ".dng"; crashes | join kind=innerunique (dngWrites) on DeviceId | where datetime_diff('second', crashes.Timestamp, dngWrites.Timestamp) between (-CrashWin .. CrashWin)

CloudTrail query (AWS CLI/CloudWatch)

  • [nie dotyczy] — brak bezpośrednich zdarzeń AWS dla wektora mobilnego.

Elastic / EQL (ECS)

sequence by host.id with maxspan=5m [ file where file.extension == "dng" and process.name in ("com.whatsapp","com.android.mms","com.sec.android.gallery3d") ] [ any where event.category == "process" and event.action == "crash" and message like "*libimagecodec.quram.so*" ] [ network where network.protocol == "http" and destination.domain in ("unknown","newly_observed") ]

Wzorce oparte na publicznych opisach wektora (DNG → crash → C2). Dostosuj nazwy pól do własnego schematu.

Heurystyki / korelacje

  • Korelacja czasowa: zapis/plansza DNG w mediach komunikatora ą5 min → crash libimagecodec.quram.so → nowy outbound HTTPS do mało‑popularnej domeny.
  • Anomalia rozmiaru: DNG większy niż typowe zdjęcia RAW z telefonu użytkownika (ze względu na doczepione ZIP).
  • Ścieżka pliku i nazewnictwo: wzorce typu WhatsApp Image YYYY-MM-DD ... .jpeg z rozszerzeniem DNG/niepełnym EXIF.
  • Geografia/intel: próbki obserwowane m.in. w Irak, Iran, Turcja, Maroko — wzmocnij monitoring dla tych regionów/oddziałów.

False positives / tuning

  • Pojedyncze crashe dekodera obrazu (wadliwe pliki graficzne, aplikacje foto).
  • Legalne pliki DNG z dużymi zasobnikami (profesjonalne RAW), bez dalszych objawów (brak C2).
  • Tuning: wymagaj sekwencji: DNG → crash → nowy outbound do mało‑popularnej domeny oraz brak patcha SMR Apr‑2025 na urządzeniu.

Playbook reagowania (IR)

  1. Triag/izolacja: odizoluj urządzenie w MDM (blokada sieci, wyłącz backupy).
  2. Weryfikacja łatek: sprawdź SMR Apr‑2025 R1 lub nowszy; brak → wymuś aktualizację.
  3. Zabezpieczenie artefaktów: zbierz logcat -b crash -d, tombstones, listę ostatnio zapisanych .dng i ich SHA‑256 (nie otwieraj na urządzeniu!).
  4. Hunting: wyszukaj w proxy/NGFW rzadkie domeny po crashu; skorelować z innymi urządzeniami.
  5. Eradykacja: usuń podejrzane media, przywróć urządzenie do stanu zgodnego (patch), zresetuj tokeny/aplikacje dotknięte (komunikatory).
  6. Komunikacja: poinformuj użytkownika, przeprowadź świadomość nt. nieotwierania nieoczekiwanych obrazów (do czasu pełnej dystrybucji poprawek).
  7. Lessons Learned: dodaj reguły DLP/NGFW dla nietypowych DNG z CDN komunikatorów; zasil listy C2 z TI.

Przykłady z kampanii / case studies

  • LANDFALL (Unit 42, 2024–2025): Zidentyfikowano spreparowane DNG z dołączonym ZIP; po exploicie łańcuch ładował moduły spyware i łączył z C2. Aktywność obserwowana m.in. w Iraku, Iranie, Turcji i Maroku.
  • Doniesienia prasowe (THN/SecurityWeek) potwierdzają wykorzystanie CVE‑2025‑21042 jako zero‑daya do dostarczenia LANDFALL na Galaxy; patch w kwietniu 2025.
  • KEV: CISA dodała CVE do katalogu znanych exploitów 10 listopada 2025 — priorytet wdrożenia łatek.

Lab (bezpieczne testy) — tylko do walidacji detekcji

Nie generujemy exploitów. Poniższe kroki tworzą nieszkodliwy plik testowy (DNG z doczepionym ZIP), aby sprawdzić łańcuch detekcyjny. Nie otwieraj pliku na podatnych urządzeniach.

  1. Przygotuj próbkę:
# Użyj dowolnego bezpiecznego DNG (np. z aparatu) lub skonwertuj zdjęcie do DNG w narzędziu offline. echo "hello" > harmless.txt zip harmless.zip harmless.txt cat sample.dng harmless.zip > sample_dng_plus_zip.dng sha256sum sample_dng_plus_zip.dng
  1. Weryfikacja sygnatur:
# Spodziewane 'PK\x03\x04' blisko końca pliku strings -n 4 sample_dng_plus_zip.dng | tail
  1. Walidacja pipeline: wgraj plik na sandbox/serwer skanujący (nie na urządzenie mobilne), sprawdź czy:
    • reguły proxy/IDS klasyfikują go jako image/x-adobe-dng o większym rozmiarze,
    • reguły SIEM (z sekcji 7) flagują zdarzenie (bez części „crash”).

Mapowania (Mitigations, powiązane techniki)

Mitigations (Mobile/Enterprise):

  • M1051 — Update Software: natychmiastowe wdrożenie SMR Apr‑2025 R1 i nowszych na urządzeniach Samsung.
  • M1013 — Application Developer Guidance: twarda walidacja danych wejściowych w bibliotekach obrazów (wskazanie dla dostawców/SDLC).
  • M1002 — Attestation (Mobile): egzekwuj nienaruszalność/stan urządzeń (wykrywanie modyfikacji/SELinux).

Powiązane techniki ATT&CK:

  • T1658 (Mobile), T1203 (Enterprise)Exploitation for Client Execution (rdzeń problemu).
  • T1664 (Mobile)Exploitation for Initial Access (wejście przez parser obrazu).
  • T1566.003 (Enterprise)Spearphishing via Service (dostarczanie przez komunikator).

Źródła / dalsza lektura

  • NVD/CVE: opis, oceny CVSS (różnica NVD vs. producent), KEV (data dodania). (NVD)
  • CVE.org: rekord CVE. (CVE)
  • Samsung SMR Apr‑2025 R1: wpis SVE‑2024‑1969 → CVE‑2025‑21042 i status łaty. (Samsung Mobile Security)
  • Unit 42 (Palo Alto Networks): analiza kampanii LANDFALL (DNG z doczepionym ZIP, łańcuch spyware, geografia). (Unit 42)
  • The Hacker News / SecurityWeek: doniesienia prasowe o real‑world exploitation i patchu. (The Hacker News)
  • MITRE ATT&CK — wersje i techniki Mobile/Enterprise: techniki T1658/T1664/T1203/T1566.003; wersja v18.0. (MITRE ATT&CK)

Checklisty dla SOC / CISO

SOC (operacyjna):

  1. Widok urządzeń Samsung + poziom SMR (Apr‑2025 lub nowszy).
  2. Reguły SIEM: sekwencja DNG → crash libimagecodec → nowe C2.
  3. Filtry proxy/NGFW dla image/x‑adobe‑dng z CDN komunikatorów (anomalie rozmiaru).
  4. Blokada/monitoring domen „nowo obserwowanych” po crashu.
  5. Collectors: logcat crash, tombstones z Androida.
  6. Hurtowe wyszukiwanie CVE‑2025‑21042 w TVM/MDM/EDR.
  7. Procedura szybkiej izolacji przez MDM.
  8. Playbook IR z sekcji 10 (w tym komunikacja z użytkownikiem).
  9. Walidacja reguł detekcyjnych na plikach testowych (sekcja 12).
  10. Retrospektywny hunting 2024–2025 pod kątem anomalii DNG.

CISO (strategiczna):

  1. SLA na wdrażanie SMR/aktualizacji (mitigation M1051).
  2. Polityka MDM wymuszająca stan „zgodny” przed dostępem do zasobów.
  3. Zdolność do telemetrii mobilnej (logcat/tombstones) w SIEM.
  4. Threat intel dotyczący KEV i kampanii mobilnych (LANDFALL).
  5. Testy kontrolne: inspekcja nośników medialnych (obrazy/RAW) w gateway’u.
  6. Program świadomości o zagrożeniach w komunikatorach (T1566.003).
Idź do oryginalnego materiału