【Node.js】セキュリティ的によくないBufferの使い方

開発関連
スポンサーリンク

むか〜し@nuxtjs/axiosにproxyいれてレスポンスをBuffer使って書き換えるコードを拾ってきて使っていたのですが、new Bufferする使い方はかなり危険だそうです。最近また動かしてみたら実行時エラーがでるようになってました。
私の場合は固定長のレスポンスだったからセーフでしたが、ちゃんと初期化して使わないと未初期化で残ってた部分が見えてしまうなんてことがあるようで。。。C言語みたいなものか

エラーの内容

 ERROR  (node:31696) [DEP0005] DeprecationWarning: Buffer() is deprecated due to
 security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(),
 or Buffer.from() methods instead.

対処方法

new Bufferではなくfromやallocを使えばいいそうです。詳しい話は↓のサイトによくまとまっています。3年も前の記事(汗)

また、古いライブラリを使っている場合も注意が必要で、どうしてもバージョンをあげられない場合は「node –zero-fill-buffers」のオプションいれるとBufferが自動的に0フィルされるようになるそうです。ただすでにちゃんと0フィルしているコードは2重で0フィルが走って遅くなるそうな。
↓リファレンスです

タイトルとURLをコピーしました