一部の言語構造と関数で引数の値に NULL バイトが含まれていた場合の挙動修正
PHP 5.3.4(最新は PHP 5.3.5) で、引数の値にファイルパスが指定可能な言語構造と関数に NULL バイトが含まれていた場合、処理が失敗するように修正されました。
簡単に調べてみたところ、少なくとも、以下の言語構造と関数が該当するようです。
- 言語構造
- Bzip2
- Enchant
- Fileinfo
- GD
- IMAP
- OCI8
- ODBC
- OpenSSL
- PHP Options/Info
- PostgreSQL
- POSIX
- Pspell
- SQLite
- SQLite3
- tidy
- URLs
- XSL
- zip
- エラー処理
- ファイルシステム
- ディレクトリ
- セマフォ
- その他
この修正により、少しだけ NULL バイトを使用した攻撃が成功しにくくなりました。ただ、この修正は脆弱性の原因を根本的に解消するようなものではないため、言語構造・関数の使用前の入力値確認が必要な点は変わりません。