InicioInfoVulnerabilidad en PHP corregida en la version 5.3.10

Vulnerabilidad en PHP corregida en la version 5.3.10

Info2/7/2012



La nueva versión de PHP 5.3.10 resuelve una vulnerabilidad que permite la ejecución de código remoto, y que fue introducida al intentar arreglar la anterior actualización.

Si hace un par de semanas se publicaba la actualización 5.3.9 de PHP , ahora se detecta una nueva vulnerabilidad provocada por los cambios introducidos en el parche que solucionaban la anterior, relacionada con las tablas hash (CVE-2011-4885).

Según el investigador Stefan Esser (i0n1c), esta nueva vulnerabilidad (CVE-2012-0830) permitiría la ejecución remota de código o en su defecto, una ataque de denegación de servicio. Existe una prueba de concepto que la aprovecha.

La vulnerabilidad se presenta en la introducción de una nueva propiedad dentro de php .ini, llamada "max_input_vars" que limita el número máximo de parámetros que pueden ser usados en una petición (por ej: http://www.un_sitio.com/peticion. php ?a=1&b=2&c=3). Por defecto le es asignado el valor 1000.

Esto, unido a los cambios introducidos en la función 'php_register_variable_ex' que no controlan correctamente cuándo se supera el valor max_input_vars y se utiliza un array de variables, permite que se pueda ejecutar código remotamente.

i se observa el código cambiado en php_variables.c, se comprueba que sólo se controlan los valores menores o iguales a "max_input_vars":

[color=#000000]if (zend_hash_num_elements(symtable1) <= PG(max_input_vars)) {
 if (zend_hash_num_elements(symtable1) == PG(max_input_vars)) {
 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables 
 exceeded %ld. To increase the limit change max_input_vars in php.ini.",
 PG(max_input_vars));
 }
 ...[/color]


Sin "else" que encamine por otras vías el código. Por tanto, si se supera dicho valor el código seguiría ejecutándose hasta llegar a:

[color=#000000] symtable1 = Z_ARRVAL_PP(gpc_element_p);[/color]

una macro que devuelve referencias a la tabla hash actualizada. Es aquí donde se podría ejecutar el código arbitrario o, provocar una denegación de servicio.

PHP ha publicado rápidamente la actualización de PHP 5.3.10 que se encuentra disponible en:
http://www.php.net/downloads.php

Critical PHP Remote Vulnerability Introduced in Fix for PHP Hashtable Collision DOS



Simple proof of concept for PHP bug described by Stefan Esser (@i0n1c)
https://gist.github.com/1725489
Datos archivados del Taringa! original
0puntos
61visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
0visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

No hay comentarios nuevos todavía

Autor del Post

f
franeg95🇦🇷
Usuario
Puntos0
Posts10
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.