Grave bug en WordPress que deja K.O al servidor web (comprobado), info y solución.

wpDesde el blog «desvaríos informáticos«, su autor nos avisa de un grave ¿gravísimo? bug que afecta a la última versión de WordPress (2.8.4) y anteriores, el fallo se da en el fichero wp-trackback.php y una vez se lanza el exploit sobre el sitio web atacado, el consumo de memoria y uso de CPU del servidor web intentando procesar esas peticiones, sube hasta el punto de (en 3 minutos en mi caso) dejar K.O la máquina en cuestión.

Aunque todavía no hay una solución al bug por parte de WordPress, el propio autor, además de hacer público el exploit para comprobarlo, informa sobre como solventarlo (además de quejarse de la falta de respuesta de WordPress y la solución que le comentaron).

Solución al fallo;

1º) Buscad en «wp-trackback.php» (línea 45);

$charset = $_POST['charset'];

2º) Sustituid por;

$charset = str_replace(",","",$_POST['charset']);
if(is_array($charset)) { exit; }

He probado el exploit y puedo dar fe de que funciona;

debian:/home/dabo# php exploitwp.php http://www.url_victima.com
hit!
hit!
hit!
hit!
hit!
hit!
^C

Y con una simple conexión, (la mía) he conseguido casi dejar K.O (estaba monitorizado y lógicamente paré) a un servidor web de alguien que comenta habitualmente por aquí. Aprovecho para informaros que el php y otros aspectos del servidor no estaban nada mal configurados (límites del php, tiempo de ejecución, etc) por lo que sin querer entrar en populismos, el bug me parece simplemente devastador…

Sólo me queda darle las gracias a jcarlosn, autor del post (que con la portada de Menéame tiene mayor repercusión) por informar y dar la solución. Si alguien se pregunta que me parece el hecho de que haya hecho público el exploit junto a la solución, le diré que entiendo que si desde WordPress y aún habiendo informado, no acababan de dar salida o solución al tema, se ha visto obligado a hacerlo público.

Creo que no es momento de discutir sobre el «sexo de los ángeles» si «yo hubiera hecho esto o lo otro» sino de parchear los blogs y en mi caso informar y dar fe de la seriedad del asunto.

Entiendo que desde WordPress se liberará una nueva versión que lo solvente. Hay una gran comunidad de desarrolladores detrás y estarán en ello, aunque en este caso y por el bien de muchos servidores web, espero que se den prisa ya que son sólo dos líneas de código.

dabo

Work: @apache_ctl | Edu: Hacker (and free) Culture & @debianhackers, @daboweb | Life: @verticalplaneta | ¿Hacktivista? (legítima defensa) GPG Key 0xBC695F37

dabo escribió 1255 entradas

Navegación de la entrada


Comentarios

  • Pingback:

    Bitacoras.com
  • maty

    He tenido que modificar incluso el de la versión WP 2.0.11 nauscópica, y eso que poco tenía que ver el fichero con el original tras haberlo asegurado años ha para casa Quiño.

    Todavía recuerdo cuando me pidió ayuda y yo no tenía ni idea del CMS WordPress y tuve que recurrir a tí para resolver un problema bastante estúpido (cosas de mi ignorancia por entonces).

    Ya he procedido a modificar unas cuantas bitácoras que superviso y he dado un toque a otras que supervisé.

    – Un saludo –

  • specka

    Buen momento para ver como se comportan tus defensas DDOS, y otros mecanismos de defensa ante conexiones desde una misma IP….

    Como siempre la seguridad es una suma de todo…

    En particular puedo decir, que pese a que he tratado el exploit en varios sitios que manejo ninguno ha conseguido nada salvo un banneo de Ip

  • dabo

    Hola Maty, haces muy bien en hacerlo rápido, es lo más razonable de cara a tu ISP y la bitácora en si, sobre lo que comentas, uff, me falta a mi tanto por aprender…para eso estamos, para ayudarnos los unos a los otros, hoy eres tú y mañana yo, un abrazo -;)

    Specka, un placer leerte, como siempre, si, es una buena «prueba de concepto» para ver como tienes hechos los deberes pero en el caso del servidor que te comento, lo que vi era que además de no contar con las medidas «mínimas», la propia configuración de PHP no ayudaba mucho a paliar el problema.

    Y de todos modos, soluciones para detectar este tipo de ataques se lo pueden «tragar» ya que no hace falta enviar tantas peticiones, tipo mod_evasive por ejemplo, lo cual hace si cabe algo más sutil el ataque sumado además por el poco ancho de banda que hace para llevarlo a cabo.

    Por cierto, no sí lo conoces, pero dale un vistazo a esto; http://php-ids.org/downloads/

    Saludos -;)

  • maty

    El problema de los alojamientos web compartidos es que no podemos retocar la configuración del servidor. Además, ya podemos tener asegurada nuestra cuenta que si los demás no son tan prestos, el servidor será fácilmente comprometido.

    Si te animas, intenta echar abajo UTI a ver qué consigues. Dame diez minutos a que me descargue una copia actualizada de la base de datos (toca los domingos por la tarde, si me acuerdo).

  • maty

    Cuando quieras…

  • dabo

    Hola Maty -;), si le has cambiado el código estoy convencido (porque en el caso que comento así ha sido y en los míos aunque no se lo tragaban se notaba el «ruido») que queda solventado. El problema no es tirar contra UTI, sino como bien dices, al estar en un hosting compartido (entiendo), podría llevar a comprometer a todo el servidor…

    Y eso partiendo de la base de que con eso JP puede entrar tranquilo (al menos por esto), bueno con «eso» y con tu inestimable ayuda.

    Saludos -;)

  • Martin

    Ya está cambiado, no entiendo nada pero si tú lo dices no hay que perder el tiempo. Gracias.

  • forat

    Parcheado !! Esperemos que lo agregen pronto en WordPress si no despistados como yo que esta vez si no fuera sido porque Maty me a avisado me quedo con el culo al aire como la mayoría de los Blogs que hay por la red.

    Gracias a los dos ;)

  • dabo

    Hola Martín -;), gracias por la confianza pero si, era cuestión de parchear

    Forat bro, casi mejor que te lo digo ahora vía Skype que xD con esa voz melodiosa que tienes ! (ya verás en el podcast como te sales-;), ahora en serio, imagino que pronto lo parchearán pero vaya, con esta solución que nos proponen vamos más que bien.

    Saludos !!

  • specka

    Bueno, una contribucion para administradores noveles que tengan muchos servidores que modificar…

    https://islaserver.com/articulos/seguridad/solucion-exploit-wordpress-284-e-inferiores-wp-trackback-php.html

  • dabo

    Está chulo Specka, no lo conocía la verdad y vaya, creo que me va a venir muy bien para precisamente no estar volviéndome loco con awk y sed -;)

  • specka

    Lo bueno de estos exploits es que muchos descubren que sus servidores estan mal securizados, y reciben un toque de atencion fuerte. Es un mal rollo pero muchas veces aprendemos a golpes. Yo alguna vez he sufrido una de estas… lo que te hace mas paranoico cada vez…

  • dabo

    Specka, tienes razón, yo mismo me sigo emparanoiando con estos temas y viene bien para darle una «mano de pintura» a alguna pared, saludos -;)

Comentarios cerrados.