大津です。
(2014/07/30 11:12), 遠州律夫 wrote:
PHPの脆弱性について調べていたんですが、
Node.jsはヌルバイト脆弱性はあるんですか?
> PHPでいうバイナリセーフ関数はあるんですか?
Node APIで明示的にNull byteチェックしているのは fs モジュールぐらいです。
$ node -e "require('fs').openSync('hoge\0fuga');"
fs.js:121
throw er;
^
Error: Path must be a string without null bytes.
at nullCheck (fs.js:119:14)
at Object.fs.openSync (fs.js:431:3)
at [eval]:1:15
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:456:26)
at evalScript (node.js:536:25)
at startup (node.js:80:7)
at node.js:906:3
APIを全部チェックしてないですが、binary safe なものが多いのですけど
child_process 関連などは危ないかもしれないです。
外部からの入力に関しては、基本厳しくサニタイジングして、脆弱性を避けるこ
とが必要です。
--
---
このメールは Google グループのグループ「Node.js 日本ユーザグループ」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには nodejs_jp+unsubscr...@googlegroups.com
にメールを送信してください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。