Arbitrary Code Injection in mobile-icon-resizer
mobile-icon-resizer resizes large images for use as icons for iOS and Android.
mobile-icon-resizer has a code execution vulnerability in versions before 0.4.3.
mobile-icon-resizer takes an options object as an argument to define the resulting icons as such:
var options = {
config: './config.js'
}
resize(options, function(err){});
config.js would need to be a file on the filesystem and look something like:
var config = {
iOS: {
"images": [
/* iOS image definitions are not vulnerable */
]
},
android: {
"images" : [
{
"baseRatio" : "console.log('Executing script as baseRatio property')",
"folder" : "drawable-ldpi"
},
{
"ratio" : "console.log('Executing script as ratio property')",
"folder" : "drawable-mdpi"
},
/* other android image defintiions ... */
]
}
};
exports = module.exports = config;
The parameters ratio and baseRatio are passed directly to eval(), thus allowing dynamic javascript payloads to be executed.
Recommendation
Update to version 0.4.3 or later.
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| npm-Paket | mobile-icon-resizer | >= 0.2.0, < 0.4.3 | 0.4.3 |
Verweise
- CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N- Schwäche (CWE)
CWE-94- Plattform
- npm
- Paket
mobile-icon-resizer- Veröffentlicht
- 27.06.2019
- Aktualisiert
- 11.10.2026 10:22
Quellen und Lizenzen
OSV / GitHub Advisory Database - GHSA-mxjr-xmcg-fg7w - CC BY 4.0
Schwachstellenhistorie: mobile-icon-resizer
Alle veröffentlichten Schwachstellen dieses Pakets (npm-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
Dies ist die einzige bekannte Schwachstelle dieses Pakets.
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.