Hvad er QMG-filformatet?
En .qmg-fil er et Qmage-rasterbillede udviklet af Quramsoft og integreret i Samsung Android-enheder fra omkring slutningen af 2014 (Android 4.4.4 KitKat). Formatet understøtter både stillbilleder og animationer med flere rammer, hvilket gør det velegnet til Samsung One UI-temaktiver såsom baggrundsbilleder, ikoner og brugerfladeelementer, herunder opstarts-, nedluknings- og opladningssekvenser.
Qmage-codec'et er kompileret ind i Samsungs tilpassede version af Android Skia-grafikbiblioteket. Denne dybe integration i operativsystemet betyder, at enhver Samsung-app, der behandler billeder - herunder MMS-håndteringen - kan udløse afkodning af .qmg uden brugerinteraktion. I maj 2020 afslørede Google Project Zero CVE-2020-8899, en kritisk «zero-click» sårbarhed til fjernafvikling af kode, der blev udløst ved at sende en ondsindet .qmg-fil via MMS. Samsung udgav en rettelse i Android-sikkerhedsopdateringen for maj 2020.
Formatet stammer fra Samsungs bada OS i 2010. Der findes fire underversioner: QMv1, QG1.0, QG1.1 og QG2.0 (findes i Android 10 Skia-builds). Alle deler en 12-byte header, der begynder med de magiske bytes 51 47 01 («QG» efterfulgt af en versions-byte). Farveunderstøttelse inkluderer 24-bit RGB og 32-bit RGBA. Uden for Samsung-enheder understøtter ingen gængse billedvisere .qmg indfødt; filer kan nogle gange konverteres manuelt til .PNG eller .JPG ved hjælp af specialiserede værktøjer, men bred tredjepartsunderstøttelse mangler.
Sikkerhed og tryghed
RISIKO: MEDIUMCVE-2020-8899: kritisk zero-click RCE (CVSS 9.8) i Samsung Qmage-codec via MMS, afsløret maj 2020, rettet i Samsungs sikkerhedsopdatering fra maj 2020. Risikoen er nu rettet på opdaterede enheder. QMG-filer fra upålidelige kilder bør ikke placeres på ikke-opdaterede/ældre Samsung-enheder. Sårbarheden tillod kodeafvikling, før brugeren overhovedet så den ondsindede MMS.
Formatdetaljer
kort fortaltProgrammer der åbner QMG-filer
Tekniske detaljer
dyb specifikation| Magiske bytes | 51 47 01 (ASCII: «QG» + versions-byte) ved offset 0 |
| Header-størrelse | 12 bytes (magic + version + bredde + højde + flag) |
| Farvedybde | 24-bit RGB og 32-bit RGBA (alfa-kanal understøttet) |
| Komprimering | Proprietære tabsgivende (JPEG-lignende) og tabsfrie (PNG-lignende) tilstande |
| Animationsunderstøttelse | Ja - flere rammer til opstarts-, nedluknings- og opladningssekvenser |
| Format-underversioner | QMv1, QG1.0, QG1.1, QG2.0 |
| Byte-rækkefølge | Little-endian |
| Typisk filstørrelse | 2 KB - 500 KB (stillbillede); op til ~2 MB (animation) |
| Typiske dimensioner | 64×64 px til 1080×1920 px (tema-brugerfladeaktiver) |
| Container | Proprietær Quramsoft-container; ingen standard wrapper |
| Platform | Samsung Android (One UI / TouchWiz); forældet Samsung bada OS |
| Sikkerhedsbemærkning | CVE-2020-8899 - zero-click RCE via MMS, rettet i Android-sikkerhedsopdateringen for maj 2020 |
| MIME-type | image/qmg |
| Udgivet | 2010 (bada OS); integrated into all Samsung Android phones from ~late 2014 (Android 4.4.4) |
| Seneste version | QG2.0 (codec present in Android 10 Skia builds); QMv1, QG1.0, QG1.1 also documented |
| Specifikation | googleprojectzero.blogspot.com |
QMG-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om QMG-filer.