Un fallo de seguridad reportado por un Bloguero llamado José Carlos Norte en la bitácora Desvaríos Informáticos indicaría que un atacante podría fácilmente dejar un sitio web offline si se utiliza un ataque al archivo wp-trackback.php de WordPress con una cantidad suficiente de datos que haga que el sitio tenga que procesar una buena cantidad de información.
De acuerdo con José Carlos, se trataría de un fallo que aún no está corregido en WordPress 2.8.4, y que podría hacer que muchos sitios caigan. Para ello, basta con infectar -por decirlo de alguna manera- mediante un POST la cadena $charset que recibe dicho archivo y enviarle una buena cantidad de datos para que un sitio quede totalmente offline, por la gran cantidad de recursos que se gastan para ello.
El error consiste en realizar una petición que a wordpress le resulte tan compleja de procesar, que invierta muchísima memoria y CPU en ella, tanta que cuando le llegue la siguiente petición, y la siguiente y la siguiente, llegue un momento que se colapse, y no sea capaz de atender nada mas. Esto acaba provocando que el servidor completo deje de responder, y el resto de visitantes, no puedan ver la páginas.
Particularmente, este no se considera un fallo tan grave, aunque claro, lo es para sitios que no cumplan una determinada norma que refiere a la cantidad en tamaño que un archivo PHP puede ejecutar. Más prácticamente, a los scripts se les designa un “tope” en el servidor que es el máximo que éste puede utilizar en cuanto a memoria.
Actualmente, la mayoría de los servidores para blogs están configurados en 32 MB de php_memory_limit, y este valor debe ser incrementado en algunos casos hasta 64 MB de php_memory_limit, por lo que por más que un usuario intente enviar o procesar más que esa cantidad, automáticamente será prohibido.
Además, otra cosa a tener en cuenta es que si tu servidor tiene mod_security instalado, este bloqueará este tipo de peticiones -que ya se ha comentado en varias partes de que sí lo hace- prohibiendo al atacante que cometa su objetivo.
Finalmente, si no tienes ni fú ni fá instalado en tu servidor, bastará con que edites el archivo wp-trackback.php cambiando en la línea 45 el código que viene por defecto por la solución que ofrece Norte en su weblog, o incluso puedes descargarte este archivo desde MarlexSystems y reemplázalo por el que poseas (asegúrate de cambiar la extensión de txt a php).
Más información | Agujero de Seguridad muy grave en WordPress
Tags: fallo de seguridad wordpress, hackear wordpress wp-trackback.php, reparar wp-trackback.php, wordpress fallo trackback
21 de Octubre del 2009 a las 7:06 PM (Responder ↓)
En realidad, lo que comentas de php_memory_limit no es cierto, ya que ese límite no funciona cuando la memoría se consume internamente en una extensión como mbstring.
Ese límite, aparte de ser por PETICÍON, y no por usuario, no nos afecta en absoluto (recomiendo probarlo).
Acerca de mod_security, es cierto que protege de este ataque, y yo lo recomiendo encarecidamente.
Pero en serio, después de muchas pruebas con mucha gente, la conclusión es que o tienes mod_security bien configurado, o debes parchear tu wordpress.
Un saludo!
21 de Octubre del 2009 a las 7:35 PM (Responder ↓)
@Jose Carlos Norte: y que dices de WP 2.8.5? Se supone que parchea esto.
Gracias, de todos modos, por la aclaración…