PHP до 7.0.5 ZIP Archive zend_string.h ZipArchive::getFromIndex повреждение памяти
| CVSS Meta Temp Score | Текущая цена эксплойта (≈) | Балл интереса CTI |
|---|---|---|
| 9.3 | $0-$5k | 0.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).
Продукт
Тип
Имя
Версия
Лицензия
Веб-сайт
- Продукт: https://www.php.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Вектор: 🔍VulDB Надёжность: 🔍
CVSSv3
VulDB Meta Base Score: 9.8VulDB Meta Temp Score: 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: 🔍
Контрмеры
Рекомендация: ОбновлениеСтатус: 🔍
Время реакции: 🔍
0-дневное время: 🔍
Время экспозиции: 🔍
Задержка эксплуатации: 🔍
Обновление: PHP 7.0.6
Патч: github.com
Хронология
10.03.2016 🔍28.04.2016 🔍
28.04.2016 🔍
28.04.2016 🔍
02.05.2016 🔍
24.05.2016 🔍
25.05.2016 🔍
07.08.2016 🔍
11.06.2024 🔍
Источники
Продукт: 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.
Комментариев пока нет. Языки: ru + be + en.
Пожалуйста, войдите в систему, чтобы прокомментировать.