PHP 迄 7.0.5 ZIP Archive zend_string.h ZipArchive::getFromIndex メモリ破損
| CVSS 一時的なメタスコア | 現在のエクスプロイト価格 (≈) | CTI注目指数 |
|---|---|---|
| 9.3 | $0-$5k | 0.00 |
要約
PHP 迄 7.0.5内に 重大 として分類された脆弱性が発見されました。 影響を受けるのは、コンポーネント【ZIP Archive Handler】のファイル【zend_string.h】に含まれる関数【ZipArchive::getFromIndex】です。 未知の値で改ざんすることが、 メモリ破損を突く攻撃に繋がります}。 この脆弱性は CVE-2016-3078 として扱われます。 攻撃はリモートで開始される可能性があります。 攻撃手法は利用できません。 影響を受けているコンポーネントのアップグレードを推奨します。
詳細
PHP 迄 7.0.5内に 重大 として分類された脆弱性が発見されました。 影響を受けるのは、コンポーネント【ZIP Archive Handler】のファイル【zend_string.h】に含まれる関数【ZipArchive::getFromIndex】です。 未知の値で改ざんすることが、 メモリ破損を突く攻撃に繋がります}。 CWEを使用して問題を宣言すると、CWE-190 につながります。 この弱点は発表されました 2016年04月28日 Hans Jerry Illikainenによって (ウェブサイト)。 アドバイザリーは openwall.com にてダウンロード用に公開されています。 一般向けリリースはベンダーと調整済みです。
この脆弱性は CVE-2016-3078 として扱われます。 CVEの割り当ては2016年03月10日に行われました。 攻撃はリモートで開始される可能性があります。 技術的な詳細が利用可能です。 この脆弱性の悪用頻度の高さは平均を超えています。 攻撃手法は利用できません。 エクスプロイトツールは一般に公開されており、悪用される可能性があります。 エクスプロイトツールの現在の価格はおそらく米ドルで約$0-$5kです。 この脆弱性の原因はコードのこの部分にあります。
static zend_always_inline zend_string *zend_string_alloc(size_t len, int persistent)
{
zend_string ret = (zend_string )pemalloc(ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent); // (4)
...
ZSTR_LEN(ret) = len; // (5)
return ret;
} アドバイザリーは次を指摘しています。 The `size' argument to the `pemalloc' macro is aligned/adjusted in (4) whilst the original value of `len' is stored as the size of the allocated buffer in (5). No boundary checking is done in (4) and it may thus wrap, which would lead to a heap overflow during the invocation of `zip_fread()' in (3) as the `toread' argument is `ZSTR_LEN(buffer).
概念実証 として宣言されています。 exploit-db.comでエクスプロイトが共有されています。 0dayにはおよそ $25k-$100k の価値があったと予想しています。 エクスプロイトで使用されたコードは次のとおりです:
$zip = new ZipArchive();
if ($zip->open($_FILES["file"]["tmp_name"]) !== TRUE) {
echo "cannot open archive\n";
} else {
for ($i = 0; $i < $zip->numFiles; $i++) {
$data = $zip->getFromIndex($i);
}
$zip->close(); 脆弱性スキャナーNessusはID【91320 (Ubuntu 12.04 LTS / 14.04 LTS / 15.10 / 16.04 LTS : php5, php7.0 vulnerabilities (USN-2984-1))】のプラグインを提供しています。不具合の有無をターゲット環境にて判定できます。 Ubuntu Local Security Checks ファミリーに分類されています。 プラグインはタイプ【 l 】のコンテキストで実行されています。 商用脆弱性スキャナーQualysではプラグイン【 196483 (Ubuntu Security Notification for Php5, Php7.0 Vulnerabilities (USN-2984-1)) 】を使用してこの問題をテストできます。
7.0.6にアップグレードすることで、本問題を解消できます。 影響を受けているコンポーネントのアップグレードを推奨します。 脆弱性が公開されてから 4 週 後に、対策が発表されました。
この脆弱性は他の脆弱性データベースにも記載されています: SecurityTracker (ID 1035701) , Tenable (91320).
製品
タイプ
名前
バージョン
ライセンス
ウェブサイト
CPE 2.3
CPE 2.2
CVSSv4
VulDB ベクトル: 🔍VulDB 信頼性: 🔍
CVSSv3
VulDB ベースメタスコア: 9.8VulDB 一時的なメタスコア: 9.3
VulDB ベーススコア: 9.8
VulDB 一時的なスコア: 8.8
VulDB ベクトル: 🔍
VulDB 信頼性: 🔍
NVD ベーススコア: 9.8
NVD ベクトル: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| ベクトル | 複雑さ | 認証 | 機密性 | 完全性 | 可用性 |
|---|---|---|---|---|---|
| 解除 | 解除 | 解除 | 解除 | 解除 | 解除 |
| 解除 | 解除 | 解除 | 解除 | 解除 | 解除 |
| 解除 | 解除 | 解除 | 解除 | 解除 | 解除 |
VulDB ベーススコア: 🔍
VulDB 一時的なスコア: 🔍
VulDB 信頼性: 🔍
NVD ベーススコア: 🔍
悪用
クラス: メモリ破損CWE: CWE-190 / CWE-189
CAPEC: 🔍
ATT&CK: 🔍
物理的: いいえ
ローカル: いいえ
リモート: はい
可用性: 🔍
アクセス: パブリック
ステータス: 概念実証
著者: Hans Jerry Illikainen
プログラミング言語: 🔍
ダウンロード: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
価格予測: 🔍
現在の価格評価: 🔍
| 0-Day | 解除 | 解除 | 解除 | 解除 |
|---|---|---|---|---|
| 本日 | 解除 | 解除 | 解除 | 解除 |
Nessus ID: 91320
Nessus 名前: Ubuntu 12.04 LTS / 14.04 LTS / 15.10 / 16.04 LTS : php5, php7.0 vulnerabilities (USN-2984-1)
Nessus ファイル: 🔍
Nessus リスク: 🔍
Nessus ファミリー: 🔍
Nessus Context: 🔍
OpenVAS ID: 803381
OpenVAS 名前: PHP Denial of Service Vulnerability - 01 - Aug16 (Linux)
OpenVAS ファイル: 🔍
OpenVAS ファミリー: 🔍
Qualys ID: 🔍
Qualys 名前: 🔍
Exploit-DB: 🔍
脅威インテリジェンス
関心: 🔍アクティブアクター: 🔍
アクティブなAPTグループ: 🔍
対策
推奨: アップグレードステータス: 🔍
リアクション時間: 🔍
0day日時: 🔍
暴露時間: 🔍
エクスプロイト遅延時間: 🔍
アップグレード: PHP 7.0.6
パッチ: github.com
タイムライン
2016年03月10日 🔍2016年04月28日 🔍
2016年04月28日 🔍
2016年04月28日 🔍
2016年05月02日 🔍
2016年05月24日 🔍
2016年05月25日 🔍
2016年08月07日 🔍
2024年06月11日 🔍
ソース
製品: php.org勧告: USN-2984-1
調査者: Hans Jerry Illikainen
ステータス: 確認済み
確認: 🔍
調整済み: 🔍
CVE: CVE-2016-3078 (🔍)
GCVE (CVE): GCVE-0-2016-3078
GCVE (VulDB): GCVE-100-83075
SecurityTracker: 1035701
scip Labs: https://www.scip.ch/en/?labs.20161013
関連情報: 🔍
エントリ
作成済み: 2016年05月02日 08:53更新済み: 2024年06月11日 12:06
変更: 2016年05月02日 08:53 (82), 2019年03月22日 14:03 (12), 2022年07月27日 14:54 (5), 2022年07月27日 14:55 (1), 2024年06月11日 12:06 (15)
完了: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
コメントはまだありません。 言語: ja + en.
コメントするにはログインしてください。