{"id":"GHSA-mxjr-xmcg-fg7w","summary":"Arbitrary Code Injection in mobile-icon-resizer","details":"mobile-icon-resizer resizes large images for use as icons for iOS and Android.\n\nmobile-icon-resizer has a code execution vulnerability in versions before 0.4.3.\n\nmobile-icon-resizer takes an options object as an argument to define the resulting icons as such:\n```\nvar options = {\n  config: './config.js'\n}\nresize(options, function(err){});\n```\nconfig.js would need to be a file on the filesystem and look something like:\n```\nvar config = {\n  iOS: {\n    \"images\": [\n     /* iOS image definitions are not vulnerable */\n    ]\n  },\n  android: {\n    \"images\" : [\n      {\n        \"baseRatio\" : \"console.log('Executing script as baseRatio property')\",\n        \"folder\" : \"drawable-ldpi\"\n      },\n      {\n        \"ratio\" : \"console.log('Executing script as ratio property')\",\n        \"folder\" : \"drawable-mdpi\"\n      },\n    /* other android image defintiions ... */\n    ]\n  }\n};\n\nexports = module.exports = config;\n```\nThe parameters `ratio` and `baseRatio` are passed directly to `eval()`, thus allowing dynamic javascript payloads to be executed.\n\n\n## Recommendation\n\nUpdate to version 0.4.3 or later.","modified":"2021-08-17T15:41:58Z","published":"2019-06-27T17:25:21Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2019-06-27T15:58:50Z","nvd_published_at":null,"cwe_ids":["CWE-94"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/muzzley/mobile-icon-resizer/issues/8"},{"type":"WEB","url":"https://github.com/muzzley/mobile-icon-resizer/commit/a6c50f884bd282d74ab77e1fce6317d5d0dd2f0f"},{"type":"WEB","url":"https://snyk.io/vuln/npm:mobile-icon-resizer:20160408"},{"type":"WEB","url":"https://www.npmjs.com/advisories/317"}],"affected":[{"package":{"name":"mobile-icon-resizer","ecosystem":"npm","purl":"pkg:npm/mobile-icon-resizer"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.2.0"},{"fixed":"0.4.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2019/06/GHSA-mxjr-xmcg-fg7w/GHSA-mxjr-xmcg-fg7w.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}]}