この製品は、異なる表現またはコンポーネント間でデータを受け渡す際に、ヌルバイトまたはNUL文字を適切に処理しません。
ヌル・バイト(NUL文字)は、表現や言語によって異なる意味を持つことがある。例えば、標準的なCライブラリでは文字列の終端文字ですが、 PerlやPHPの文字列では終端文字として扱われません。PerlやPHPが基本的なCの機能を呼び出す場合など、2つの表現が交差する場合、予期しない結果を伴う相互作用エラーが発生する可能性があります。同様の問題はASPでも報告されています。C言語で書かれた他のインタープリタも影響を受けるかもしれません。
ポイズンヌルバイトは、ファイル名に追加されるハードコードされた拡張子を終了させることで、 パストラバーサル攻撃に頻繁に役立ちます。また、PHPの正規表現処理においても役割を果たすことがあります。
The product does not properly handle null bytes or NUL characters when passing data between different representations or components.
A null byte (NUL character) can have different meanings across representations or languages. For example, it is a string terminator in standard C libraries, but Perl and PHP strings do not treat it as a terminator. When two representations are crossed - such as when Perl or PHP invokes underlying C functionality - this can produce an interaction error with unexpected results. Similar issues have been reported for ASP. Other interpreters written in C might also be affected.
The poison null byte is frequently useful in path traversal attacks by terminating hard-coded extensions that are added to a filename. It can play a role in regular expression processing in PHP.