セキュリティ
以下の徳丸さんの記事を読んで、以前にmb_send_mail()の関連で調べたことがあったのを思い出しましたので、少し書きます。 PHPだってシェル経由でないコマンド呼び出し機能が欲しい 環境は Unix 系の OS で OS コマンドを使用してメールを送信する場合です。…
少し前の話題ですが、PHP 5.4.9 と PHP 5.3.18 が公開されました。その中で、mbstring の項目に「mbstring.encoding_translation = On になっていると max_input_vars が有効にならない」問題が修正されています。 http://git.php.net/?p=php-src.git;a=comm…
PHP 5.3.4(最新は PHP 5.3.5) で、引数の値にファイルパスが指定可能な言語構造と関数に NULL バイトが含まれていた場合、処理が失敗するように修正されました。 http://svn.php.net/viewvc?view=revision&revision=305507 簡単に調べてみたところ、少なくと…
「体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践」という書籍が3/1に発売されました。体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践作者: 徳丸浩出版社/メーカー: SBクリエイティ…
結構、前になりますが、2010/05/01 から 1ヶ月間、http://php-security.org/ で the Month of PHP Security として、PHP とその周辺のセキュリティ問題が報告がされていました。 そのほとんどの問題について、実証コードも掲載されています。その中で、PHP …
前の記事(Shift_JIS では、htmlspecialchars() を使用しても XSS が可能な場合がある)で Shift_JIS ではブラウザによっては XSS が発生する可能性があることを書きました。この問題は、PHP の開発版のスナップショット(snaps.php.net)で修正されたことを確認…
以下のページに関連して、htmlspecialchars() を使用している場合でも XSS が可能かどうか少し調べてみました。 http://www.tokumaru.org/d/20090930.html その結果、いくつかのブラウザで文字エンコーディングに Shift_JIS を使用していた場合、XSS が可能…
PHP 5.2.7 以前で display_errors = On になっている場合、エラーメッセージに任意のスクリプトを実行される問題があったそうです。 参考 JVN#50327700 PHP におけるクロスサイトスクリプティングの脆弱性 (JVN) JVNDB-2008-000084 PHP におけるクロスサイト…
mbstring 関係の関数で HTML エンティティを含むユニコード文字列を変換をした場合に buffer overflow を起こす可能性があるそうです。 影響を受けるバージョン: PHP 4.3.0 以降、PHP 5.0.0 以降 修正されたバージョン: PHP 5.2.7 および PHP 5.3.0 alpha 3(…
以前、Month of PHP Bugs and PHP 5.2.1 において、3月に1日1つずつ PHP のセキュリティ問題を公開していくという話がありましたが、開始されていました。 the Month of PHP Bugs(http://www.php-security.org/) 現在、以下の3つが登録されています。しばら…
PHP Multiple Vulnerabilities (Secunia) PHP Security From The Inside (Security Focus) Stefan Esser へのインタビューです。PHP のセキュリティ問題に関していろいろ興味深い話がされています。 Month of PHP Bugs and PHP 5.2.1 3月から1日に1つずつ PH…
PHP 5.2.0 以降では、Cookie に HttpOnly 属性を付加することができるようになりました。 ブラウザが対応していれば、ブラウザ側では、Cookie に対して通常のアクセスのみ(HTTP を通してのみ)が可能になります。 Javascript などのスクリプトから Cookie に…
allow_url_include は PHP 5.2.0 から追加された設定です(デフォルト無効[Off])。 このオプションが有効になっている場合は、include(), include_once(), require(), require_once() で URL 対応の fopen ラッパーが使用できます。 PHP マニュアル: allow_ur…
php 5.2.0 から data: ストリームラッパーが利用できるようになりました。 PHP マニュアル: Data (RFC 2397) http://php.net/wrappers.data 使いようによっては、おそらく便利な機能ですが、include() や require() に任意の値の入力を許していると、php://i…
最近、多くのセキュリティ問題とバグの修正が行われています。 PHP 4.4.3, PHP 5.1.5RC1 最低でも PHP 5.1.4 か PHP 4.4.3 にアップデートすることが推奨されています。 PHP 5.1.5RC1 でもいくつかのセキュリティ問題が修正されています。 PHP 4.4.3 http://…
PHP internals で HTTP-Only Patch という投稿がありました。 この Patch を適用するかどうかで議論され、PHP 5.2 系のブランチに適用されたようです(デフォルトでは無効のようです)。 http://news.php.net/php.internals/25233 http://news.php.net/php.cvs…
iakio さんから Patch を修正したとの連絡をいただきましたので、3月5日の日記に追記しました。もし、以前に Patch を適用していた場合は再度適用し直しておいた方が良いと思います。また、この Patch は PostgreSQL の CVS にコミットしていただいたそうで…
以前のメモにおいて、PHP から PostgreSQL への接続で文字コードに SJIS(Shift JIS) を使用すると以下の問題があることを説明したのですが、分かりにくい点なども多いように思いますので、まとめ直しました。何か間違いや勘違いしているような部分がありまし…
最近の PEAR で報告されているセキュリティ問題の PEAR::Archive_Tar について追記しました。 実際に検証してみると、pear コマンドをスーパーユーザ権限で使用している場合、不正なパッケージのインストールを行うと非常に危険な感じがします。
最近、PEAR のパッケージでいくつかセキュリティ問題が報告されています。PEAR::Archive_Tar はまだ修正されていませんが、他のパッケージについては必要に応じてアップデートしておく方が良いと思います。リンクの追加、記述の修正を行いました(2006.03.02)…
2006.03.06 追記 この問題については、iakio日誌(2006-02-15)において、PHP スクリプトで回避する方法の例と、PostgreSQL に Patch を当てて回避する方法を示しておられます。問題の影響を受ける場合は参考にすると良いと思います。 1月22日に書いた、addsla…
The addslashes() Versus mysql_real_escape_string() Debate (Chris Shiflett: The PHP Blog) で文字コードによっては addslashes() による SQL のエスケープ処理は問題があることが指摘されていました。 日本語でも、Shift_JIS を扱っている場合は同様の問…
Hardened-PHP Project からセキュリティアドバイザリが2件出ています。 PHP ext/mysqli Format String Vulnerability PHP 5 から導入された mysqli では、例外を使用したエラー報告機能がありますが、エラーで例外が発生した際に、そのエラーメッセージはフ…
予定より早く修正プログラムが公開されることになりました。かなり危険な問題ですので、できる限り早くアップデートした方が良さそうです。 Graphics Rendering Engine の脆弱性によりコードが実行される可能性がある (912919) (MS06-001) http://www.micros…
Secunia で Apache 2 の mod_ssl に DDoS 攻撃が可能な問題が報告されていました。 Apache 2 の CVS 版では修正されているそうです。Apache 2 mod_ssl Denial of Service Vulnerability http://secunia.com/advisories/18307/Apache の Subversion ログ http…
PEAR 1.0 - 1.3.5 のバージョンに含まれている PEAR Installer に、任意のコードが実行されてしまう可能性があったそうです。PEAR 1.4.0 以上ではこの問題はないとされています。 現在は PEAR 1.4.6 が公開されていますので、1.3.5 以下の古いバージョンの P…
Windows 版の PHP の mysql_connect() で Buffer Overflow 攻撃が可能な問題が報告されています。 mysql_connect() の引数を外部から指定できるようにしていることはないと思いますので、あまり大きな問題にはならないと思います。[Full-disclosure] Windows…
masugata さんのところで知ったのですが、mb_strcut() の第2引数(文字列の切り取り開始位置) に不正に大きな値を入力するとメモリ破壊が起きる可能性があるという問題が発見され、修正されたそうです。 http://d.hatena.ne.jp/masugata/20051216#p2 以下のよ…
Apache の問題だと思われますが、PHP で最も影響がありそうです。 Full-disclosure で以下のような投稿がありました。 [Full-disclosure] Bug with .php extension? 例えば、サーバ上に test.php.rar という PHP のコードが書かれたファイルが存在していて、…
Secunia や SecurityFocus でセキュリティホールとして認められたようです。 この件についての情報を 最近の mbstring 関係のバグのまとめ の最後に追加してみました。 PHP "mb_send_mail()" "To:" Header Injection Vulnerability (Secunia) PHP MB_Send_Ma…