PHP hasta 7.0.5 ZIP Archive zend_string.h ZipArchive::getFromIndex desbordamiento de búfer
| CVSS Puntuación meta temporal | Precio actual del exploit (≈) | Puntuación de interés CTI |
|---|---|---|
| 9.3 | $0-$5k | 0.00 |
Resumen
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.
Detalles
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.
Producto
Escribe
Nombre
Versión
Licencia
Sitio web
- Producto: https://www.php.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Confiabilidad: 🔍
CVSSv3
VulDB Puntuación meta base: 9.8VulDB 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: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complejidad | Autenticación | Confidencialidad | Integridad | Disponibilidad |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍
NVD Puntuación base: 🔍
Explotación
Clase: Desbordamiento de búferCWE: 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-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoy | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
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 amenazas
Interés: 🔍Actores activos: 🔍
Grupos APT activos: 🔍
Contramedidas
Recomendación: ActualizaciónEstado: 🔍
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 tiempo
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 🔍
Fuentes
Producto: php.orgAviso: 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ículo
Fecha de creación: 2016-05-02 08:53Actualizado: 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.
Sin comentarios aún. Idiomas: es + pt + en.
Por favor, inicie sesión para comentar.