tag
入力検証
このタグの記事 2 件
2026-09-05
安全でないデシリアライズとは:外部データにオブジェクトの型を決めさせる危険と対策
デシリアライズの危険は『変なデータが入ること』ではなく、形式によっては『どの型のオブジェクトを組み立てるか』を外部データが決められることにある。だから被害はデータの破損では終わらず、OWASPはサービス停止・アクセス制御の迂回・リモートコード実行を挙げる。対策の軸は2つ。JSONやXMLのような純粋なデータ形式に切り替えて型を選ばせない、そしてシリアライズ時に署名し、署名の無いものは復元しない。一部の仕組みは設定では安全にできず、使うのをやめる以外にない。
2026-09-05
プロトタイプ汚染(Node.js)とは:Node.jsが対象外とする範囲と、自分のコードでの対策
プロトタイプ汚染は、外部入力に含まれる特殊なキーが再帰的マージなどを通って、JavaScriptの組み込みプロトタイプを書き換えてしまう欠陥。結果は2種類:設定した覚えのないプロパティが至るところに現れる(認可やオプションの判定が狂う)か、組み込みメソッドが消えてアプリが落ちる。重要なのは責任の所在で、Node.js公式は『これはNode.jsコアの脆弱性とは見なさない。ただしアプリと依存の層で防げ』と明記している。つまりアップデートを待っても直らない。