Entradas en la categoría WordPress

(In)Seguridad en WordPress: Verdades, Mentiras y Un poco mas…

Últimamente parece que hablar de la (in)seguridad en WordPress es el tema mas tratado por diferentes bloggers desde los mas apegados a WordPress (mejor conocidos como WP-Fans) hasta aquellos que solo quieren iniciar una guerra de flameos; sin embargo desgraciadamente son muy pocos los comentarios que “realmente” tienen una validez o sustento lo que dicen, son muy pocos los que hablan/discuten sobre este asunto conociendo cual es la realidad del mismo, me he visto en la necesidad de leer cada tipo de comentarios de gente que de verdad parece que solo esta haciendo Spam hacia algún CMS (de su preferencia) mas que aportar algo o discutir algo valido sobre el mismo tema.
Continua leyendo »

WordPress 2.2.3 y el PoC para el XSS

Ya ha salido a luz publica la ultima versión(sub) que va tener la rama 2.2.x, este es un lanzamiento de seguridad que incluye muchas soluciones para diferentes bugs de seguridad, entre ellos están el bug de XSS Reflectivo que les hable aquí mismo, el blind sql injection del cual hablaba alexander concha en su blog (y que causo un poco de pánico entre varios usuarios de WordPress), uno de escalada de privilegios y por el ultimo el que facilitaba phising al login de WordPress.
En fin muchos son los bugs de seguridad por eso recomiendo ampliamente que todos los usuarios de la rama 2.2.x (y los que TODAVÍA siguen con la 2.1.x) se actualicen a esta ultima y como dicen mas vale prevenir que lamentar…

Con respecto a la forma como se explotaba el bug de XSS Reflectivo que les quede a deber en la entrada anterior, el escenario es algo simple pero algo especial en estos días, se requería primero contar las URL-amigables (Permalinks predefinidos) y que tu tema cuente con la capacidad de tratar los errores 404 (404.php) y claro contar con alguna versión de la rama WordPress 2.2.x.
El chiste era que durante un error 404 el titulo como antes tampoco ahí se filtraban los “caracteres malos” así que haciendo un poco de trucos antiguos solo bastaba hacer que se generara un error 404 (poniendo claro urls a partes que no existan) e inyectar como antiguamente lo hacíamos

Un Ejemplo/PoC seria así:
http://[URL]/test-foo?year=</title><script>alert(String.fromCharCode(88,83,83))</script>

XSS en WordPress 2.2.2

Hace unos momentos Ryan Boren ha enviado hacia el SVN de WordPress unos parches para al parecer resolver un problema de seguridad, al darle una simple mirada a los cambios puedo ver que se trata de la misma vulnerabilidad que descubrí hace ya algún tiempo pero vista desde otro punto de ataque el cual no se tenia filtrado, aunque no es necesario cundir el pánico ya que la vulnerabilidad es un simple XSS Reflectivo/No-Persistente y existen otras un poco menos graves que ya han sido reparadas en el SVN, esta es de las de mas alto riesgo que existe o se tiene conocimiento hasta el momento (aunque como siempre digo un XSS es de poco riesgo pero si tiene alto impacto), así que recomiendo ampliamente la aplicación del siguiente parche solo como medida preventiva:

Archivo de Diferencias (en diff)
Archivos PreParcheados

También me he fijado que para esta vulnerabilidad sea correctamente explotada requiere un escenario un poco especial (con respecto a como debe estar programado el tema que se use de WordPress) pero aun con ese escenario especial he logrado encontrar muchos blogs famosos que se puede explotar la vulnerabilidad entre ellos están el blog donde “Alexander Concha” pone sus trabajos mejor conocido el lugar como “Buayacorp“, pero bueno no hablare sobre la vulnerabilidad y la manera de como explotarla, no al menos hasta que halla pasado cierto tiempo o salga la versión 2.2.3 (o la 2.3), aunque estoy seguro que las personas dedicadas a esto con solo mirar el archivo de diferencias y ver sobre la antigua vulnerabilidad que descubrí, fácilmente hallaran la forma de explotarla…

Otra lluvia de bugs de WordPress

Ya creo que después de esta entrada voy a empezar seriamente en hacerle su propia subcategoría a este tema…
Como anuncie hace mucho pero mucho tiempo, la popularidad que WordPress esta obteniendo en este año 2007 a traído no solo una gran cantidad de nuevas personas apoyando al proyecto, si no que ya atrajo la vista de todos los usuarios que le ponen la mirada “maliciosa” (como yo le digo) osea la gente que se sentara a buscar vulnerabilidades a diestra y siniestra.

Por un lado es bueno por que así cada día tenemos un WordPress mas seguro y por el otro lado de la moneda no me gusta que estos se encuentren sacando vulnerabilidades al publico que no tienen un parche (o al menos una solución proveniente de ellos) , esto obvio que compromete a miles de millones de blogs, un tema que para mi es serio, ya que no estamos tratando con un simple juguete que puedes romper y decir mira lo rompí, si no que se puede generar daño al mismo tiempo, recordemos que hoy en día hay blogs que generan dinero y causarles daño es una perdida monetaria que puede ir directo al cierre total o parcial de uno de estos, yo se que a nadie le interesa y todos quieren sus famosos 5-minutos de fama acuesta de como sea, sea cual sea la justificación que estos den para mi es solo una inmadurez hacer esto, para mi esa seria la ultima instancia otorgada, el ultimo peldaño, el ultimo recurso a utilizar, se que cuesta mucho trabajo esperar y seguir los tiempos pero para mi es la mejor forma de proceder ante este tipo de casos.

En fin después de una breve reflexión/regaño/molestia/opinión ahora si vamos con los bugs…
Hace 2 dias salieron a la luz publica 5 bugs, ayer se dio a conocer 2 mas, todos de bajo riesgo aunque el autor diga lo contrario y trate de meter un poco de miedo o desesperacion (desde mi mero punto de vista personal), pero si estas vulnerabilidades podrán ser de bajo riesgo pero si tienen un alto impacto si es que logran ser ejecutados, 4 de ellas son XSS/XSRF, 1 de SQL Injection y 2 de information disclosure.
No hablare/profundizare mucho sobre ellas por que aparte de que son muy fáciles de entender alex concha ya lo ha hecho y pues volver a escribir lo escrito es algo tonto, también la pagina del autor lo dice muy explicito pero si solo se los recomiendo a los que sepan ingles y de paso les aconsejo que no tomen tan enserio las clasificaciones del autor, para mi como dije son algo amarillistas, desde mi mero punto de vista todas son “Low” o como secunia las clasifica “Less Critical”.

También como siempre les incluyo los archivos pre-parcheados (junto con el archivo de diferencias) para que puedan resolver esta vulnerabilidad, pueden bajarlo dando clic aquí, cabe recordarles que oficialmente (hasta el momento) WordPress ya reparo 5 de los 7 bugs, le falto 1 de XSS y otro de information disclosure de menor o escaso rango, de los cuales ya he dejado en cada ticket su solución correspondiente (basada en la oficial que se encuentra en el /trunk) mis soluciones ya están incluidas junto con las oficiales en el archivo que bajaron de aquí, así que como -nuevamente- recordatorio estos son temporales aun “no-oficiales” y todavía se esta esperando si aceptan o no estos cambios, en dado caso de que pase lo que pase tengan en cuenta que les avisare por esta misma entrada como van los parches…

Actualización al 02/08/2007
Ya se han aprobado los parches así que también ahora son oficiales; todos los que hayan usado mis parches considérense oficiales y para los que no los alcanzaron les dejo los links para bajar ya con todos los parches oficiales (los que saldrán en la 2.2)…
Archivos Pre Parcheados
Archivo de Diferencias (en formato diff)

WordPress 2.2.1, actualizacion rigurosa…

Sin mas comentarios que agregar que solo una breve reseña y opinion…
Ya que los que vienen leyendo sabrán que he estado poniendolos al tanto de las vulnerabilidades mas graves o las que se pueden explotar de una manera fácil casi desde el momento que salieron y también sabrán que hice algunos parches que al final se encuentran en la 2.2.1 listos para que mucha gente los use…
Como ya es costumbre tengo que decir que esta actualización es rigurosa, mandatoria, OBLIGATORIA ya que corrige algunos fallos de seguridad muy severos de SQL Injection, Shell execution y los XSRF, así que si usas WordPress 2.2 o alguna versión de la 2.1.x es muy recomendable que te tomes el tiempo para actualizar.