PHP の socket_connect() 関数におけるバッファオーバーフローの脆弱性(Scan Tech Report) | ScanNetSecurity
2024.03.29(金)

PHP の socket_connect() 関数におけるバッファオーバーフローの脆弱性(Scan Tech Report)

1.概要
PHP には、socket_connect() 関数の処理に起因してバッファオーバーフローを引き起こしてしまう脆弱性が報告されました。
リモートの第三者またはローカルの悪意あるユーザに悪用された場合、PHP アプリケーションを不正に停止される、あるいはシステム上で不正な

脆弱性と脅威 エクスプロイト
1.概要
PHP には、socket_connect() 関数の処理に起因してバッファオーバーフローを引き起こしてしまう脆弱性が報告されました。
リモートの第三者またはローカルの悪意あるユーザに悪用された場合、PHP アプリケーションを不正に停止される、あるいはシステム上で不正な操作を実行される可能性があります。
この脆弱性は、0-Day エクスプロイトとして Marek Kroemeke 氏が 2011/5/24 (米国時間) にメーリングリスト (Full Disclosure) に投稿したものになります。
現時点 (2011/6/6) では、この脆弱性を解消する PHP バージョンは公開されていないため、解消バージョンが提供されるまでの間、以下に記載する対策を実施することを推奨します。


2.深刻度(CVSS)
7.5
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2011-1938&vector=%28AV%3AN/AC%3AL/Au%3AN/C%3AP/I%3AP/A%3AP%29


3.影響を受けるソフトウェア
PHP 5.3.3 - 5.3.6

※本項目は公式ベンダが発表した情報に基づき記載されます。当該脆弱性は公式ベンダによる情報公開がなされていないためCVEを出典としました。


4.解説
PHP のソケット接続を行う socket_connect() 関数 (ext/sockets/sockets.c) には、UNIX ドメインソケット (AF_UNIX) を利用して通信を確立する際のアドレスの長さを適切にチェックしない不備が存在します。
このため、AF_UNIX ソケットを用いて過度に長いアドレスに接続した場合に、バッファオーバーフローが発生する脆弱性が存在します。

この脆弱性を利用することでローカルの攻撃者は、PHP アプリケーションをクラッシュさせ、サービス不能状態にする、あるいは PHP アプリケーションの権限で任意のコードが実行可能となります。
なお、PHP アプリケーションを外部に公開する環境において、当該関数への入力を第三者が指定可能である場合には、リモートの攻撃者に悪用される可能性があります。

また、PHP アプリケーションで、AF_INET/AF_INET6 ソケットを利用する場合はこの脆弱性の影響を受けず、AF_UNIX ソケットを利用する場合のみ影響を受けます。


5.対策
(Web非公開)

6.ソースコード
(Web非公開)

(執筆:株式会社ラック コンピュータセキュリティ研究所

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×