PHP hasta 7.0.5 ZIP Archive zend_string.h ZipArchive::getFromIndex desbordamiento de búfer

CVSS Puntuación meta temporalPrecio actual del exploit (≈)Puntuación de interés CTI
9.3$0-$5k0.00

Resumeninformación

Una vulnerabilidad clasificada como crítica ha sido encontrada en PHP hasta 7.0.5. Se ve afectada una función desconocida del archivo zend_string.h del componente ZIP Archive Handler. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Esta vulnerabilidad se conoce como CVE-2016-3078. El ataque puede realizarse a distancia. Además, hay un exploit disponible. Se recomienda actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad fue encontrada en PHP hasta 7.0.5 (Programming Language Software) y clasificada como crítica. La función ZipArchive::getFromIndex del archivo zend_string.h del componente ZIP Archive Handler es afectada por esta vulnerabilidad. Por la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Esto tiene repercusión sobre la confidencialidad, integridad y disponibilidad.

La vulnerabilidad fue publicada el 2016-04-28 por Hans Jerry Illikainen (Website) (confirmado). El advisory puede ser descargado de openwall.com. La publicación estuvo coordinada con el fabricante. La vulnerabilidad es identificada como CVE-2016-3078. La vulnerabilidad es relativamente popular y aunque es muy compleja. El ataque se puede efectuar a través de la red. La explotación no necesita ninguna autentificación específica. Los detalles técnicos asi como un exploit público son conocidos. El motivo de esta vulnerabilidad es esta parte del código:

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;
}

Un exploit ha sido desarrollado por Hans Jerry Illikainen en Python y publicado inmediatamente después del anuncio. El exploit puede ser descargado de exploit-db.com. Fue declarado como prueba de concepto. Para el scanner Nessus se dispone de un plugin ID 91320 (Ubuntu 12.04 LTS / 14.04 LTS / 15.10 / 16.04 LTS : php5, php7.0 vulnerabilities (USN-2984-1)), que puede ayudar a determinar la existencia del riesgo analizado. El código utilizado por el exploit es:

$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();

Una actualización a la versión 7.0.6 elimina esta vulnerabilidad. Una solución posible ha sido publicada 4 semanas después de la publicación de la vulnerabilidad.

La vulnerabilidad también está documentado en las bases de datos Exploit-DB (39742), Tenable (91320) y SecurityTracker (ID 1035701†). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Productoinformación

Escribe

Nombre

Versión

Licencia

Sitio web

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 9.8
VulDB Puntuación meta temporal: 9.3

VulDB Puntuación base: 9.8
VulDB Puntuación temporal: 8.8
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 9.8
NVD Vector: 🔍

CVSSv2información

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplejidadAutenticaciónConfidencialidadIntegridadDisponibilidad
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear

VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 🔍

Explotacióninformación

Clase: Desbordamiento de búfer
CWE: CWE-190 / CWE-189
CAPEC: 🔍
ATT&CK: 🔍

Físico: No
Local: No
Remoto: Sí

Disponibilidad: 🔍
Acceso: Público
Estado: Prueba de concepto
Autor: Hans Jerry Illikainen
Lenguaje de programación: 🔍
Descargar: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Predicción de precios: 🔍
Estimación del precio actual: 🔍

0-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Nessus ID: 91320
Nessus Nombre: Ubuntu 12.04 LTS / 14.04 LTS / 15.10 / 16.04 LTS : php5, php7.0 vulnerabilities (USN-2984-1)
Nessus Archivo: 🔍
Nessus Riesgo: 🔍
Nessus Familia: 🔍
Nessus Context: 🔍

OpenVAS ID: 803381
OpenVAS Nombre: PHP Denial of Service Vulnerability - 01 - Aug16 (Linux)
OpenVAS Archivo: 🔍
OpenVAS Familia: 🔍

Qualys ID: 🔍
Qualys Nombre: 🔍

Exploit-DB: 🔍

Inteligencia de amenazasinformación

Interés: 🔍
Actores activos: 🔍
Grupos APT activos: 🔍

Contramedidasinformación

Recomendación: Actualización
Estado: 🔍

Tiempo de reacción: 🔍
Hora de 0 días: 🔍
Tiempo de exposición: 🔍
Tiempo de retraso de explotación: 🔍

Actualización: PHP 7.0.6
Parche: github.com

Línea de tiempoinformación

2016-03-10 🔍
2016-04-28 +49 días 🔍
2016-04-28 +0 días 🔍
2016-04-28 +0 días 🔍
2016-05-02 +4 días 🔍
2016-05-24 +22 días 🔍
2016-05-25 +1 días 🔍
2016-08-07 +74 días 🔍
2024-06-11 +2865 días 🔍

Fuentesinformación

Producto: php.org

Aviso: USN-2984-1
Investigador: Hans Jerry Illikainen
Estado: Confirmado
Confirmación: 🔍
Coordinado: 🔍

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
Véase también: 🔍

Artículoinformación

Fecha de creación: 2016-05-02 08:53
Actualizado: 2024-06-11 12:06
Cambios: 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)
Completo: 🔍
Cache ID: 216::103

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

Discusión

Sin comentarios aún. Idiomas: es + pt + en.

Por favor, inicie sesión para comentar.

Do you want to use VulDB in your project?

Use the official API to access entries easily!