{"id":"CVE-2026-54545","aliases":["EUVD-2026-49869","GHSA-7wpj-vvmv-pgm8"],"status":"published","title":"@wakaru/cli arbitrary file write during bundle unpack","description":"wakaru is a JavaScript decompiler and unminifier toolkit. From 1.0.0 until 1.4.0, @wakaru/cli sanitizes bundle-controlled module filenames only once before writing extracted modules, so a crafted filename containing overlapping traversal sequences such as ....// collapses to ../ after sanitization and lets the final output path escape the selected output directory, allowing an attacker who can cause a user to run wakaru --unpack on a malicious bundle to write files outside that directory and, depending on the target path and environment, potentially achieve code execution. This issue is fixed in @wakaru/cli 1.4.0.","severity":{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00197,"percentile":0.09467,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2026-07-28T14:43:45Z","modified":"2026-10-28T02:30:54Z","fixes":[{"ecosystem":"npm","package":"@wakaru/cli","fixed_in":["1.4.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@wakaru/cli","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0"},{"fixed":"1.4.0"}]}]},{"source":"osv","ecosystem":"npm","package":"@wakaru/cli","ranges":[{"type":"SEMVER","events":[{"introduced":"1.0.0"},{"fixed":"1.4.0"}]}]}],"products":[{"vendor":"pionxzh","product":"wakaru"}],"references":[{"url":"https://github.com/pionxzh/wakaru/security/advisories/GHSA-7wpj-vvmv-pgm8","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/pionxzh/wakaru/commit/1d30383b20a6f768786b8ada2f1b0945de13c316","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/pionxzh/wakaru/releases/tag/v1.4.0","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/advisories/GHSA-7wpj-vvmv-pgm8"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54545.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54545","tags":["advisory"]},{"url":"https://github.com/pionxzh/wakaru","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-54545","title":"@wakaru/cli arbitrary file write during bundle unpack","description":"wakaru is a JavaScript decompiler and unminifier toolkit. From 1.0.0 until 1.4.0, @wakaru/cli sanitizes bundle-controlled module filenames only once before writing extracted modules, so a crafted filename containing overlapping traversal sequences such as ....// collapses to ../ after sanitization and lets the final output path escape the selected output directory, allowing an attacker who can cause a user to run wakaru --unpack on a malicious bundle to write files outside that directory and, depending on the target path and environment, potentially achieve code execution. This issue is fixed in @wakaru/cli 1.4.0.","status":"published","published":"2026-07-28T14:43:45.808Z","modified":"2026-07-28T16:09:23.417Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T13:38:09.774038Z"}],"euvd":[{"id":"EUVD-2026-49869","description":"wakaru is a JavaScript decompiler and unminifier toolkit. From 1.0.0 until 1.4.0, @wakaru/cli sanitizes bundle-controlled module filenames only once before writing extracted modules, so a crafted filename containing overlapping traversal sequences such as ....// collapses to ../ after sanitization and lets the final output path escape the selected output directory, allowing an attacker who can cause a user to run wakaru --unpack on a malicious bundle to write files outside that directory and, depending on the target path and environment, potentially achieve code execution. This issue is fixed in @wakaru/cli 1.4.0.","status":"published","published":"2026-07-28T14:43:45Z","modified":"2026-07-28T16:09:23Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T18:02:30.949894Z"}],"ghsa":[{"id":"GHSA-7wpj-vvmv-pgm8","title":"@wakaru/cli arbitrary file write during bundle unpack","description":"### Impact\n\n`@wakaru/cli` is vulnerable to arbitrary file write when unpacking a crafted JavaScript bundle with `--unpack`.\n\nBundle-controlled module filenames were sanitized before writing extracted modules to the output directory. A crafted filename containing overlapping path traversal characters, such as `....//`, could be transformed into `../` after sanitization. This allowed the final output path to escape the intended output directory.\n\nAn attacker who can cause a user to run `wakaru --unpack` on a malicious bundle may be able to write files outside the selected output directory. Depending on the target path and user environment, this may lead to code execution.\n\nAffected versions: `\u003e=1.0.0 \u003c1.4.0`.\n\n### Patches\n\nThe issue has been patched in `@wakaru/cli@1.4.0`.\n\nUsers should upgrade to:\n\n```sh\nnpm install @wakaru/cli@latest\n```\n\nor specifically:\n```\nnpm install @wakaru/cli@1.4.0\n```\n\n### Workarounds\n\nDo not run `wakaru --unpack` on untrusted or unknown bundles with affected versions.\n\nIf upgrading immediately is not possible, avoid using `--unpack on files that may be attacker-controlled.","status":"published","published":"2026-07-28T14:44:01Z","modified":"2026-07-28T14:44:02Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:40:53.707378Z"}],"nvd":[{"id":"CVE-2026-54545","description":"wakaru is a JavaScript decompiler and unminifier toolkit. From 1.0.0 until 1.4.0, @wakaru/cli sanitizes bundle-controlled module filenames only once before writing extracted modules, so a crafted filename containing overlapping traversal sequences such as ....// collapses to ../ after sanitization and lets the final output path escape the selected output directory, allowing an attacker who can cause a user to run wakaru --unpack on a malicious bundle to write files outside that directory and, depending on the target path and environment, potentially achieve code execution. This issue is fixed in @wakaru/cli 1.4.0.","status":"published","published":"2026-07-28T16:18:59.327Z","modified":"2026-10-24T13:10:00.147Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:12:33.249634Z"}],"osv":[{"id":"CVE-2026-54545","title":"@wakaru/cli arbitrary file write during bundle unpack","description":"wakaru is a JavaScript decompiler and unminifier toolkit. From 1.0.0 until 1.4.0, @wakaru/cli sanitizes bundle-controlled module filenames only once before writing extracted modules, so a crafted filename containing overlapping traversal sequences such as ....// collapses to ../ after sanitization and lets the final output path escape the selected output directory, allowing an attacker who can cause a user to run wakaru --unpack on a malicious bundle to write files outside that directory and, depending on the target path and environment, potentially achieve code execution. This issue is fixed in @wakaru/cli 1.4.0.","status":"published","published":"2026-07-28T14:43:45.808Z","modified":"2026-10-28T02:30:54.023784177Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:45:10.818486Z"},{"id":"GHSA-7wpj-vvmv-pgm8","title":"@wakaru/cli arbitrary file write during bundle unpack","description":"### Impact\n\n`@wakaru/cli` is vulnerable to arbitrary file write when unpacking a crafted JavaScript bundle with `--unpack`.\n\nBundle-controlled module filenames were sanitized before writing extracted modules to the output directory. A crafted filename containing overlapping path traversal characters, such as `....//`, could be transformed into `../` after sanitization. This allowed the final output path to escape the intended output directory.\n\nAn attacker who can cause a user to run `wakaru --unpack` on a malicious bundle may be able to write files outside the selected output directory. Depending on the target path and user environment, this may lead to code execution.\n\nAffected versions: `\u003e=1.0.0 \u003c1.4.0`.\n\n### Patches\n\nThe issue has been patched in `@wakaru/cli@1.4.0`.\n\nUsers should upgrade to:\n\n```sh\nnpm install @wakaru/cli@latest\n```\n\nor specifically:\n```\nnpm install @wakaru/cli@1.4.0\n```\n\n### Workarounds\n\nDo not run `wakaru --unpack` on untrusted or unknown bundles with affected versions.\n\nIf upgrading immediately is not possible, avoid using `--unpack on files that may be attacker-controlled.","status":"published","published":"2026-07-28T14:44:01Z","modified":"2026-07-28T15:11:50.880711Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:41.732368Z"}]}}
