CyberGlossary

脆弱性

ヌルポインタ参照

別称: null 参照

定義

値が null(あるいは無効)であるポインタを介して読み書きするバグ。通常はクラッシュを引き起こし、時に悪用も可能となる。

ヌルポインタ参照(CWE-476)は、未初期化のポインタ、free 後に NULL に設定されたポインタ、戻り値を検査せずに失敗を見逃した関数のポインタなどを参照することで発生します。多くの現代システムではセグメンテーション違反となりプロセスが落ちるため、DoS となります。一部の制約された環境(0 番地をマップできた古い Linux カーネル、MMU を持たない組込み機器、特定の JIT コンパイラ)では、ヌル参照をメモリ破壊プリミティブへ昇格できることがあります。防御策には厳密なヌルチェック、言語機能(Optional/Maybe、非 null 参照)、静的解析、サニタイザを用いたテスト、低位アドレスのマップを禁じる mmap_min_addr などの OS 制御があります。

  • オプションのヘッダ欠落でクラッシュする Web サーバ。
  • mmap_min_addr が 0 のときに悪用された Linux カーネルのヌル参照不具合。

関連用語