Wat is het QMG-bestandsformaat?
Een .qmg-bestand is een Qmage-rasterafbeelding ontwikkeld door Quramsoft en geïntegreerd in Samsung Android-apparaten vanaf eind 2014 (Android 4.4.4 KitKat). Het formaat ondersteunt zowel stilstaande beelden als animaties met meerdere frames, waardoor het geschikt is voor Samsung One UI-thema-onderdelen zoals achtergronden, pictogrammen en UI-elementen, waaronder opstart-, afsluit- en oplaadsequenties.
De Qmage-codec is gecompileerd in Samsung's aangepaste fork van de Android Skia-grafische bibliotheek. Deze diepe OS-integratie betekent dat elke Samsung-app die afbeeldingen verwerkt - inclusief de MMS-berichtenhandler - .qmg-decodering kan activeren zonder tussenkomst van de gebruiker. In mei 2020 onthulde Google Project Zero CVE-2020-8899, een kritieke zero-click kwetsbaarheid voor uitvoering van code op afstand die werd geactiveerd door het verzenden van een kwaadaardig .qmg-bestand via MMS. Samsung heeft hiervoor een patch uitgebracht in de Android-beveiligingsupdate van mei 2020.
Het formaat ontstond op Samsung's bada OS in 2010. Er bestaan vier subversies: QMv1, QG1.0, QG1.1 en QG2.0 (aanwezig in Android 10 Skia-builds). Ze delen allemaal een 12-byte header die begint met de magic bytes 51 47 01 („QG” gevolgd door een versie-byte). Kleurondersteuning omvat 24-bits RGB en 32-bits RGBA. Buiten Samsung-apparaten ondersteunt geen enkele reguliere afbeeldingsviewer .qmg systeemeigen; bestanden kunnen soms handmatig worden geconverteerd naar .PNG of .JPG met behulp van gespecialiseerde tools, maar brede ondersteuning door derden ontbreekt.
Beveiliging & veiligheid
RISICO: MEDIUMCVE-2020-8899: kritieke zero-click RCE (CVSS 9.8) in Samsung Qmage-codec via MMS, onthuld in mei 2020, gepatcht in Samsung-beveiligingsupdate van mei 2020. Het risico is nu gepatcht op bijgewerkte apparaten. QMG-bestanden van niet-vertrouwde bronnen mogen niet op niet-gepatchte/oudere Samsung-apparaten worden geplaatst. De kwetsbaarheid maakte uitvoering van code mogelijk voordat de gebruiker de kwaadaardige MMS bekeek.
Formaatdetails
in een notendopProgramma's die QMG-bestanden openen
Technische details
diepe specificaties| Magic bytes | 51 47 01 (ASCII: „QG” + versie-byte) op offset 0 |
| Header-grootte | 12 bytes (magic + versie + breedte + hoogte + vlaggen) |
| Kleurdiepte | 24-bits RGB en 32-bits RGBA (alfakanaal ondersteund) |
| Compressie | Propriëtaire lossy (JPEG-achtig) en lossless (PNG-achtig) modi |
| Animatie-ondersteuning | Ja - meerdere frames voor opstart-, afsluit- en oplaadsequenties |
| Formaat-subversies | QMv1, QG1.0, QG1.1, QG2.0 |
| Byte-volgorde | Little-endian |
| Typische bestandsgrootte | 2 KB - 500 KB (stilstaand beeld); tot ~2 MB (animatie) |
| Typische afmetingen | 64×64 px tot 1080×1920 px (thema UI-onderdelen) |
| Container | Propriëtaire Quramsoft-container; geen standaard wrapper |
| Platform | Samsung Android (One UI / TouchWiz); verouderd Samsung bada OS |
| Beveiligingsnotitie | CVE-2020-8899 - zero-click RCE via MMS, gepatcht in Android-beveiligingsupdate van mei 2020 |
| MIME-type | image/qmg |
| Uitgebracht | 2010 (bada OS); integrated into all Samsung Android phones from ~late 2014 (Android 4.4.4) |
| Laatste versie | QG2.0 (codec present in Android 10 Skia builds); QMv1, QG1.0, QG1.1 also documented |
| Specificatie | googleprojectzero.blogspot.com |
QMG conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over QMG-bestanden.