PHP до 7.0.5 ZIP Archive zend_string.h ZipArchive::getFromIndex повреждение памяти

CVSS Meta Temp ScoreТекущая цена эксплойта (≈)Балл интереса CTI
9.3$0-$5k0.00

СводкаИнформация

Уязвимость была найдена в PHP до 7.0.5. Она была оценена как критический. Неизвестная функция файла zend_string.h компонента ZIP Archive Handler поражена. Манипуляция приводит к повреждение памяти. Эта уязвимость обозначается как CVE-2016-3078. Атака может быть инициирована удаленно. Более того, существует эксплойт. Рекомендуется обновить затронутый компонент.

ПодробностиИнформация

Уязвимость была найдена в PHP до 7.0.5. Она была оценена как критический. Неизвестная функция файла zend_string.h компонента ZIP Archive Handler поражена. Манипуляция приводит к повреждение памяти. Использование CWE для описания проблемы приводит к CWE-190. Слабость была опубликована 28.04.2016 специалистом Hans Jerry Illikainen (Веб-сайт). Консультация доступна для загрузки на openwall.com. Продавец сотрудничал в координации публичного релиза.

Эта уязвимость обозначается как CVE-2016-3078. Назначение CVE произошло 10.03.2016. Атака может быть инициирована удаленно. Имеются технические подробности. Популярность этой уязвимости выше среднего. Более того, существует эксплойт. Эксплойт был раскрыт общественности и может быть использован. В настоящее время текущая цена эксплойта может составлять примерно USD $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. В 0-дневный период предполагаемая подземная цена составляла около $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 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 Meta Base Score: 9.8
VulDB Meta Temp Score: 9.3

VulDB Базовый балл: 9.8
VulDB Временная оценка: 8.8
VulDB Вектор: 🔍
VulDB Надёжность: 🔍

NVD Базовый балл: 9.8
NVD Вектор: 🔍

CVSSv2Информация

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
ВекторСложностьАутентификацияКонфиденциальностьЦелостностьДоступность
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать

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: 🔍

КонтрмерыИнформация

Рекомендация: Обновление
Статус: 🔍

Время реакции: 🔍
0-дневное время: 🔍
Время экспозиции: 🔍
Задержка эксплуатации: 🔍

Обновление: PHP 7.0.6
Патч: github.com

ХронологияИнформация

10.03.2016 🔍
28.04.2016 +49 дни 🔍
28.04.2016 +0 дни 🔍
28.04.2016 +0 дни 🔍
02.05.2016 +4 дни 🔍
24.05.2016 +22 дни 🔍
25.05.2016 +1 дни 🔍
07.08.2016 +74 дни 🔍
11.06.2024 +2865 дни 🔍

ИсточникиИнформация

Продукт: 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
Смотрите также: 🔍

ВходИнформация

Создано: 02.05.2016 08:53
Обновлено: 11.06.2024 12:06
Изменения: 02.05.2016 08:53 (82), 22.03.2019 14:03 (12), 27.07.2022 14:54 (5), 27.07.2022 14:55 (1), 11.06.2024 12:06 (15)
Завершенный: 🔍
Cache ID: 216::103

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Обсуждение

Might our Artificial Intelligence support you?

Check our Alexa App!