| パッケージ | 影響を受けるバージョン | 修正済みバージョン |
|---|---|---|
| shescape | < 1.1.3 | 1.1.3 |
| shescape | < 1.1.3 | 1.1.3 |
Anyone using Shescape to defend against shell injection may still be vulnerable against shell injection if the attacker manages to insert a null character into the payload. For example (on Windows):
const cp = require("child_process");
const shescape = require("shescape");
const nullChar = String.fromCharCode(0);
const payload = "foo\" && ls -al ${nullChar} && echo \"bar";
console.log(cp.execSync(`echo ${shescape.quote(payload)}`));
// foototal 3
// drwxr-xr-x 1 owner XXXXXX 0 Mar 13 18:44 .
// drwxr-xr-x 1 owner XXXXXX 0 Mar 13 00:09 ..
// drwxr-xr-x 1 owner XXXXXX 0 Mar 13 18:42 folder
// -rw-r--r-- 1 owner XXXXXX 0 Mar 13 18:42 file
The problem has been patched in v1.1.3 which you can upgrade to now. No further changes are required.
Alternatively, null characters can be stripped out manually using e.g. arg.replace(/\u{0}/gu, "")
これらの製品をお使いですか?サイトをスキャンして、脆弱なバージョンが公開されていないか確認しましょう。
無料でサイトをスキャン