De acuerdo a reportes de Mariano Amartino, WordPress la plataforma de elección de miles de webloggers tiene un grave problema de seguridad. Se recomienda hacer respaldo de todo el blog, una copia del resto de archivos ya que este problema sólo se puede solucionar actualizando a una versión no estable de WordPress, lo cual muchos no queremos hacer.
Considerando que el software es de código abierto, esperamos que un parche sea lanzado a más tardar mañana. Estaremos pendientes.
Actualización 3 (10h33): Rodrigo de 16-bits nos explica que reemplazando una lÃnea del archivo functions.php en el directorio /wp-includes/ soluciona por el momento el problema. Esto parece ser consistente con la 1era actualización que hicimos a este post.
Actualización 2 (10h26): El problema de fondo son los servidores que tienen la opción “register_globals” en on, lo cual representa una gran amenaza de seguridad. La manera más sencilla de saber si la opción está activada o no [atención: lo que sigue es muy técnico] es crear un archivo llamado info.php y en este escribir únicamente: <? phpinfo() ?> y subirla vÃa FTP. Luego accesa al archivo info.php por medio del navegador y buscar la lÃnea “register_globals”. Si esta dice on debes de hacer dos cosas:
- Avisarle a tu proveedor de hosting y pedirles que desactiven esta opción en su
php.ini. - Desactivar por tu propia cuenta el “register globals” al menos en tu cuenta de hosting. Para hacerlo debes de abrir el archivo
.htaccessy escribir en el la siguiente lÃnea:php_flag register_globals off
Actualización (1h30): Al parecer (y digo al parecer porque no es “oficial”) bajar este archivo y reemplazar functions.php en el directorio /wp-includes/ soluciona el problema. Hazlo bajo tu propio riesgo y aquà no nos responsabilizamos si algo sale mal.
Por cierto: es penosa la actitud con la que a veces me encuentro en los foros de WordPress, y es reprobable que habiendo un problema tan fuerte, cuando un usuario intentó advertir y proponer una solución le hayan cerrado el thread con un comentario tan pesado.


Eduardo, la vulnerabilidad puede ser explotada si tienes la directiva register_globals en on, puedes averiguarlo ejecutando php_info() en tu servidor, mas informacion sobre como hacerlo por aqui.
bufffff….
Esto se los digo como programador: no estoy tan en desacuerdo que se haya cerrado el thread. No creo que Wordpress quiera permitir que cualquier aprovechado proponga reemplazar el archivo functions.php oficial, por uno realizado por un desconocido, pudiendo abrir posibles agujeros de seguridad en todos los blogs que lo hagan.
Hay que ser precavidos y no caer en ese tipo de trampas. La gente d Wordpress es la primer interesada en resolver los bugs de sus productos, pero sobre todo de mantener la marca como sinónimo de confiabilidad y seguridad. Y para eso, tiene que preveer este tipo de temas.
Photoshopeando: es un programa open source jústamente el chiste es que cualquiera pueda modificarlo!!!!
si, no chinguen, ya me la aplicaron a mi :’(
¿cómo puede alguien estar con el register_global a on a estas alturas? ¿En un hosting?
En el php.ini “register_globals” por default esta desactivado. El el mismo php.ini hay un comentario que dice:
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off
Miguel: Muchos (muchÃsimos) servicios de hosting dejan activada la opción ya sea porque no leen la noticia o porque nunca cambiaron el valor.
Eduardo, se perfectamente que es Open Source, pero el que lo sea, no significa que la mayor parte de la gente que utiliza Wordpress, sepa siquiera programar en PHP. Además, por más que sea un producto OpenSource, el control de calidad del código, y el asegurarse de que el producto no sea “peligroso” de usar, le sigue correspondiendo a la gente de WordPress.
Entonces, es lógico desconfiar que una persona le diga a tu base de usuarios “bajen este functions.php que yo hice, y les soluciona el problema”, porque esa persona, puede saber PHP y haber aprovechado que todos salen corriendo como ganado asustado a bajar LO QUE SEA, con tal de solucionar un agujero de seguridad, sin importarles que esa persona pueda haber puesto más código malicioso en el functions.php. Aprovechando este tipo de situaciones es como se propagan la mayorÃa de los virus.
Entonces, una cosa es decir “modifiquen ESPECIFICAMENTE esta linea y el bug no se manifiesta”, a decir “cambien todo este archivo por uno que no fue controlado por la gente de WordPress, pero no importa”. Esto da para una conversación más larga, del tipo “porque un código sea OpenSource, no debe haber una polÃtica de calidad del código?”.
Saludos.
Pablo: lo último que quiero es un moderador de foros de WordPress intentando protegerme.
Cualquier persona que entiende el bajar un archivo y reemplazarlo habiéndolo encontrado en el foro, creo que tiene también el criterio para decidir que reemplazar y que no reemplazar.
Open Source es libertad. Explicame donde queda la libertad en cerrar un thread y contestar de manera tan pesada a una persona.
Eduardo: No se que tendrás en contra de los moderadores de foros, pero ¿pensaste que quizás quién cerró el thread no lo hizo para protegerte a vos, sino al producto?
Supongamos lo siguiente: hiciste un buen producto en PHP. Hiciste un sitio, lo lanzaste como OpenSource, todo el mundo colabora, la comunidad crece. Como todo Software, es factible que tenga errores. Un dÃa, alguien revisando, encuentra un error, lo explota y lo hace disponible en internet. Primer punto en el que “estás quedando mal”, porque tu software de repente es catalogado de inseguro. Paso seguido, utilizando tus propios recursos, tu propia comunidad, la que te costó tiempo y trabajo formar, un avivado dice tener la solución al problema, salteándote por completo, e invita que todos instalen un parche. Resulta que ese parche, que no revisaste antes de la publicación, tiene más código malicioso adrede. ¿Pero qué va? ya lo tiene instalado el 80% de tus usuarios y ahora no solo tu producto es considerado inseguro, sino que además pasa a ser una “porquerÃa hackeada”. Fenómeno, esa misma noche, no solo tenés que corregir el error que cometiste, sino que tenés que corregir todos los que se infiltraron por esa persona.
A WordPress le interesa la seguridad de tus datos, pero más le interesa la seguridad de su marca, de seguir siendo considerados confiables en un mundo donde la seguridad está en la boca de todos. Si no sos seguro, sos Microsoft. Y nadie quiere ser Microsoft.
Yo pongo el:
php_flag register_globals off
En el .htaccess y el register_globals sigue estando ON.
Movà el .htaccess de una carpeta de donde estaba a la raÃz, de esta manera sale el Local Value OFF, y el Master Value ON… ¿que significa esto?, ¿estoy seguro?
Eduardo ya se liberó el WordPress 1.5.2 :)
Saludos!
¡Gracias Franc!
yo creo que pablo no entiende bien esto del Open Source, si yo como desarrollador creo algo como Open source y le encuentran un error, no queda mi producto como inseguro, al contrario, a quienes les gusto colaboran para poder solucionarlo, eso pasa en el ambiente linux.
Eduardo:
Esto se debe a un problema con el archivo XMLRPC.php que viene incluido en Wordpress.
Para esto tienes dos opciones:
1. Desactivar el Register_Global
2. Actualizar el programa que usas, para no usar direcciones globales.
La gente que evalua los programas, dice que si tienes que desactivar la opcion de register_global en el servidor, entonces el programa no es seguro y no deberia de ser usado. (yo no comparto esta opinion).
Los que usamos el JAWS, nos aparecio algo parecido. Por eso sacaron una version actualizada que corrige esos errores.
Aqui te dejo unas ligas por si te interesa saber mas:
http://www.jaws-user.com/index.php?gadget=Blog&action=SingleView&id=75
http://www.jaws.com.mx/index.php?gadget=Blog&action=SingleView&id=19
Saludos!!!
marko
zellimone