CVE-2020-7059は、PHPのfgetss()関数において、タグを取り除く際に、割り当てられたバッファを超えてデータを読み込んでしまう脆弱性です。これにより、情報漏洩やクラッシュが発生する可能性があります。影響を受けるのはPHP 7.2.0から7.4.2までのバージョンです。この問題はPHP 7.4.2で修正されました。
PHPのCVE-2020-7059脆弱性は、7.2.xの7.2.27以前、7.3.xの7.3.14以前、および7.4.xの7.4.2以前のバージョンに影響を与えます。この脆弱性は、fgetss()関数を使用してタグの除去機能付きでデータを読み取るときに発生します。攻撃者は、fgetss()が割り当てられたバッファを超えて読み取る原因となるように特別に細工されたデータを供給できます。これにより、情報漏洩(機密データが公開される)やPHPアプリケーションのクラッシュにつながる可能性があります。この脆弱性のCVSSスコアは6.5であり、中程度の重大度を示しています。問題の核心は、fgetss()がタグとバッファ境界をどのように処理するかであり、特定の条件下でバッファ外読み込みを可能にします。
この脆弱性は、fgetss()が攻撃者によって制御された入力を受け取り、その入力に処理されると割り当てられたバッファを超えて読み取りが発生するタグが含まれている場合にトリガーされます。これは、PHPアプリケーションがfgetss()とstrip_tags()で処理される入力を受け入れる必要があることを意味します。エクスプロイトが成功した場合、攻撃者はサーバーのメモリから機密データを読み取ることができ、パスワード、APIキー、その他の機密情報が含まれる可能性があります。エクスプロイトの複雑さは、入力データの構造とPHPサーバーの構成によって異なります。
Web applications relying on PHP versions 7.2.x, 7.3.x, or 7.4.x, particularly those that process user-supplied data with tag stripping enabled, are at risk. Shared hosting environments where multiple applications share the same PHP installation are also at increased risk, as a vulnerability in one application could potentially impact others.
• php: Examine PHP error logs for stack traces indicating buffer overflows or memory access violations when using fgetss() with tag stripping.
grep -i 'fgetss' /var/log/php_errors.log• linux / server: Monitor system resource usage (CPU, memory) for sudden spikes that could indicate a denial-of-service attack triggered by the vulnerability. Use top or htop to observe resource consumption.
• generic web: Inspect web application logs for unusual requests or error messages related to data processing or tag stripping. Use tools like tcpdump or Wireshark to analyze network traffic for suspicious patterns.
disclosure
エクスプロイト状況
EPSS
2.37% (85% パーセンタイル)
CVSS ベクトル
CVE-2020-7059の最も効果的な軽減策は、PHPのパッチバージョンにアップグレードすることです。つまり、PHP 7.2.27以降、PHP 7.3.14以降、またはPHP 7.4.2以降にアップグレードすることです。即時のアップグレードが不可能な場合は、fgetss()を使用しているコードを調べて、潜在的な攻撃ベクトルを特定してください。厳格な入力検証とサニタイズを実装することで、エクスプロイトを防止できますが、完全な解決策ではありません。サーバーログを定期的に監視して異常な動作を検出することも、エクスプロイトの試行を検出するのに役立ちます。
Actualice a la última versión de PHP. Si está utilizando las versiones 7.2.x, actualice a la versión 7.2.27 o superior. Si está utilizando las versiones 7.3.x, actualice a la versión 7.3.14 o superior. Si está utilizando las versiones 7.4.x, actualice a la versión 7.4.2 o superior.
脆弱性分析と重要アラートをメールでお届けします。
fgetss()は、HTMLタグを削除してデータストリームから1行を読み取るPHP関数です。入力データをクリーンアップするのに役立ちますが、この場合は実装が脆弱です。
PHPのアップデートには、重要なセキュリティパッチが含まれることがよくあります。アップデートは、CVE-2020-7059のような既知の脆弱性からアプリケーションを保護する最良の方法です。
はい、fgets()のようなデータストリームから行を読み取るための代替関数がいくつかあります。ただし、タグを削除するために追加の処理が必要になる場合があります。
コードを調べて、脆弱なPHPバージョンのfgetss()の使用がないか確認してください。また、セキュリティスキャンツールを使用して脆弱性を検出することもできます。
影響を受けたサーバーを直ちに隔離し、徹底的なセキュリティ監査を実施し、クリーンなバックアップから復元してください。