martes, septiembre 25, 2007

La Liga de los hombres extraordinarios

Tengo pasión por Alan Moore, así que cualquier momento es bueno para coger algo de él, aunque sea un título para un post que trata sobre las aventuras con el futbol y los servidores Web.

La historia comienza a finales de un Agosto tranquilo en el que decido contar los webservers de los equipos de Fubol. Como sabéis, la "desgracia de vivil" me juega una mala pasada y tengo que hacer penitencia. Dentro de la penitencia está el jugar un poco con los servidores. Todo va normal hasta que llego a la web del Getafe que ha decidido cambiar a Joomla. Tras mucho jugar al final encuentro un bug en un componente que se llama Joomleague.

Dicho componente tiene una función que se llama ShowTips en la que recibe un parámetro r que tiene XSS .... y Blind SQL Injection. Decido publicar el XSS para cumplir la penitencia pero no hago público que con el mismo parámetro se puede extrarer toda la base de datos de usaurios de Joomla de aquellos servidores que tengan ese componente. Según Google, más de 130.000 sitios (y la primera el Getafe):


A partir de aquí, comienza la historia:

Paso 1: Avisar al proyecto Joomleague

El fallo lo había descubirto el día 27 de Agosto, y al día siguiente publiqué el XSS y avisé al proyecto por la dirección de email que tienen en la web:


Respuesta Recibida: A día de hoy, es decir, casi un mes después respuesta ninguna.

Paso 2: Avisar al proyecto Joomla

Le reenvio el mail a Penyaskito, que me dice que conoce gente en Joomla, para ver si lo arreglan. El mismo día 28 de Agosto se envía la info a Joomla y el día 29 recibe un mail de contestación de Joomla.


Como véis nos piden confidencialidad y nosotros, como malignos que somos nos hemos callado. Tanto es así que yo le pasé esto a "pajarraco" de los Santos, porque pensaba publicarlo al no recibir contestación del proyecto, para que lo sacara por Una al día, pero al final no lo hice público. Qué de malignidad.

Respuesta: Esta fue la última contestación por esta vía.

Paso 3: Parcheémoslo nosotros

Como esto no tenía visos de arreglarse, tras encontrarme con el chico maravillas, que volvía de su periplo por Londres, me dijo: "Poooobres, estarán muy liados, y como hasta 1.000.0000 de afectados no cuenta... ¿por qué no lo parcheamos nosotros? Así verán que no somos mala gente los de Spectra". Dicho y hecho, le pasé el bug y se bajo el código para acabar enviandoles un parche.


Respuesta:


El resto fue en plan Pulp Fiction, que buenos somos, cuanto nos queremos y esas cosas.

Al final, la nueva versión salió el día 14 y en el Changelog apareció lo siguiente:


Sniff, que bonito, nozotros colaborando con el lado del bien. Hay esperanza para el mundo. Sniff.

Ahora ha pasado más de 1 semana y todo el mundo debería haber parcheado sus sistemas, si no, deben parchear ya. La pregunta es: ¿No se debería haber hecho alguna otra notificación sobre esto? No se, de alguna forma. ¿Se enterará todo el mundo que tiene este componente de que tiene que actualizar? ¿O no lo harán mientras no pase algo?

Saludos Malignos!

20 comentarios:

kabracity dijo...

Ayer me dio x mirar tu blog (estuve en la charla de Málaga en Enero;sí, voy con una "mijilla" de retraso,lo sé :D) y me lo pasé en grande.

La noticia cuanto menos sorprendente (será que no estoy muy acostumbrado a ver cosas así), enhorawena ;).Si es k dan ganas de ponerse a empollar bases de datos ^^ Si me da x empezar qué me aconsejas, MySQL,Oracle?(no, el Micho no es una opción válida :p)

Anónimo dijo...

Esto me da que pensar que al final el poder acceder al código fuente, es la mejor manera de poder pasar por encima de la estupidez de muchas grandes burocracias.
Por eso pienso que Micr, digo Spectra debería comenzar a pensar en cambiar su política al respecto, así tal vez algunas cosas como ésta: http://mnm.uib.es/gallir/posts/2007/09/02/1169/ tal vez pudiesen arraglarlas los usuarios, en vista de que Spectra no es capaz de hacerlo.

Chema Alonso dijo...

@kabracity, me alegro que te divirtieras. ;) Elige la que más te guste para empezar. Luego depende de los requisitos del proyecto, como siempre.

@tenderodigital, el código fuente era muy "comodo" para parchear, porque estaba "refactorizado" con control+C control+V. Al final, nada de full disclousure en este proyecto, como se ve, bastó con un "Important Security Fix".

Respecto al post de galli, lo pasé a un doctor en arquitecturas hardware (que yo ya estoy lejos de lo nuevo) y me pasó estos ligeros comentarios (censuro los chistes internos):

"
- La tarjeta de red hoy en día utiliza mucho más el DMA (Acceso Directo a Memoria) que las interrupciones. Según este tío el procesador está todo el tiempo ejecutando la rutina de tratamiento de la tarjeta de red en lugar de otras aplicaciones si estás utilizando la tarjeta???.

- Además todo esto no depende sólo del SO, también depende de tus chipsets (donde están los controladores de interrupciones y de DMA) y del interfaz que utilices para conectar la tarjeta. Por ejemplo, las nuevas con PCI Express no van ni con interrupciones clásicas, van con MSI (Message Signaled Interrupts), que se tratan de manera diferente.

- Hoy en día además están los APICs (controladores de interrupciones avanzadas), que ayudan mucho en la gestión de las interrupciones y de sus prioridades.

.... "

FilEMASTER dijo...

securizar apache, parchear un componente de joomla, oye que yo he instalado ubuntu pero tu te tas volviendo cada dia mas bueno...

como sigas a este paso vas a necesitar una cura de malignidad...

a lo mejor se me ocurre algo para el TTT ahora que lo tenemos cerca...

Anónimo dijo...

@Filemaster

Conociéndote, creo que con que le mires fijamente es suficiente para convencerle de que vuelva al lado del mal.

Anónimo dijo...

@maligno...

"La pregunta es: ¿No se debería haber hecho alguna otra notificación sobre esto? No se, de alguna forma. ¿Se enterará todo el mundo que tiene este componente de que tiene que actualizar? ¿O no lo harán mientras no pase algo?"

Las respuestas son obvias:
- lo debías de haber enviado a una lista pública estilo Bugtraq / Full Disclosure (tras un tiempo "prudencial")
- mientras no se publique, la peña no se entera
- y aunque se entere la gran mayoría no parcheará hasta que vea el peligro de cerca...

Respecto a tu proceso de "disclosure":
1) Yo no habría esperado tanto, te han mareado por todos lados...
2) No se han molestado en daros los créditos correspondientes (por el descubrimiento, reporting e incluso el parche). Aunque no lo hayais hecho buscando reconocimiento, creo que es lo mínimo que debían haber hecho.
3) Si no lo cuentas en tu blog ni me entero... lo debías de haber publicado en las listas anteriores.

-r

Nacho dijo...

Romansoft tiene más razón que San Ubuntu.

De todas formas los proyectos php, en general, son bastante cutres. Para que nos vamos a engañar.

Anónimo dijo...

Maligno!!! Acepta la crítica: te gusta hacerte más autobombo que a mí con este tipo de cosas :P

En fin... si al final no somos tan malos :P

Anónimo dijo...

@nacho: Ahí proyectos muy interesantes gestionados con PHP (movable type wordpress,Joomla...) una cosa es que sea cutre y otra cosa "inseguro".

Yo por lo menos estoy arto que los desarrolladores en PHP tengamos una pésima reputación por dos pringaos que no validen los parametros de entrada.

Anónimo dijo...

Ahí x hay, maldito msn :P.

Anónimo dijo...

@Sirw2p: totalmente de acuerdo contigo. Para programar hay que servir, no puede llegar cualquiera haciendo un hola-mundo y ya se cree que se va a comer el mundo y dice que sabe.

Si la gente se mirase el código fuente antes de utilizar las cosas Open Source esto no pasaría.

Lo que Chema no habla es que en el lado del mal también pasan cosas como estas:
http://rafavargas.wordpress.com/2007/08/27/stringformat-el-mal-uso-de/

Chema Alonso dijo...

Hola Vargas!!

Veo que has dejado la medicación y voy a tener que mantearte la próxima vez que te vea. Cuento una historia y dices "que me doy autobombo" y luego tu nos linkas tu bug, que sí te dieron crédito porque alguien maligno metió caña.....¿era un cucharón eso, no?

Desde luego...3 capones te van a caer la próxima vez que te vea, y ya sabes tú que si digo algo....

Saludos golfa!

shadow.whitehack dijo...

Es verdad eso de... si no pasa nada no parcheamos, cuando pase algo gordo lo arreglamos. Me ha pasado una cosa hace una semana, que en parte tengo yo la culpa, por dirigirme al administrador de tu a tu, pero bueno... si quereis podeis echar un vistazo en swhitehack.blogspot.com
Saludos a Sir2wp, a ver si nos vemos en otra party... maligno la primera vez me caistes gordo, pero ahora te sigo por este blog...

El Bruno dijo...

y ponen un aviso en Windows Update ???

asi todos los usuarios con sus XPs / Vistas que administran los Joomlas, cuando se descarguen automáticamente las actualizaciones pueden conocer que ademas de Wnd deben actualizar los otros cacharros raritos ... :P

PS: te posteo el comentario nro 14, sino con 13 mala suerte :D

Anónimo dijo...

@shadow: he echado un vistazo a tu blog... No es que quiera defender al administrador del Lotus pero es que te has sobrado, macho! :) ¡Sólo te faltó insultarle! xDD No esperarías una respuesta amigable con lo que le soltaste, ¿verdad? xDDD. Ains... :-)

====

"Acabo de encontrar un fallo increible, no me puedo creer que la contraseña del correo info@xxxxxxx.com sea info, pero es que lo mas increible es que tengais permisos de para ver TODAS vuestras cuentas de correo y que se pueda cambiar las contraseñas de todas de ellos y que se puedan hacer cambios. A veces las contraseñas faciles de recordar tienen estas cosas...
Si quieres probar lo que digo entra desde esta direccion http://mail.xxxxxxxxxxx.com/names.nsf y pon de user: info pass: info
No se quien administra este servidor, pero lo que se, es que se ha lucido.

Voy a ser bueno y os dire que he cambiado algunas cosillas en las cuentas... he cambiado la pass para la cuenta administrador, la nueva pass es shadow, la pass de webmaster tambien la he cambiado por webmaster.
He redireccionado algunas cuentas a mi correo... si llega algo importante te lo remitire a tu correo, no te preocupes... no voy andando jodiendo a la gente. Estos fallos cuestan dinero a la empresa y mucho trabajo perdido.

Si teneis alguna pregunta, ya sabes donde encontrarme... Saludos y buen dia."

====

Anónimo dijo...

@shadow: no se quien eres, pero si que eres un poco mamoncete :P .

shadow.whitehack dijo...

Puede que me haya pasado un poco en el primer correo... es verdad.
Para otra vez que encuentre algo, sere menos contundente.
Sirw2p, el que quedo segundo en el torneo hack de Alcolea Party. Uno mu pesao, xD.

Chema Alonso dijo...

@shadow, estoy con romansoft y sirw2p, un pelín duro sí fuieste, eh? Me alegra ya no caerte tan gordo. Saludos!

Trancek dijo...

juer la gente, tiene una prisa en arreglar sus errores de programacion... demos gracias a dios k al menos los k son d codigo libre como dicen por ahi es mas facil al tener el
codigo pàra arreglarlo tu mismo...yo ya he avisado en paginas con premios por ejemplo que ademas de avisar luego como recompensa en vez de un mp4 de los premios les parece mejor
banearmeme por trampas cuando las hice para demostrarlo..y siguen sin arreglar el fallo, me dijeron hace un año estamos en ello, me meto hoy mismo siguen
los premios y sigue el fallo, una pagina con:Usuarios Registrados: 37000 usuarios aproximadamente y asi en varias webs...al menos recibi una respuesta pero
ya veis de que sirvio "estamos arreglandolo" lo mas chorra ademas, modificar marcadores mediante GET para quedar primero xDD

Anónimo dijo...

Parece que al final ya os han dado los creditos :D

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares