大津です。

(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 にアクセスしてください。

メールによる返信