Bug en SMF 1.1.8 y 1.1.9

Iniciado por WHK, 22 Mayo 2009, 06:57 AM

0 Miembros y 1 Visitante están viendo este tema.

WHK

Estaba observando que SMF ya se actualizó a la versión 1.1.9 y me dió la curiosidad de buscar mas información del porqué lo hizo.

Buscando y buscando en simplemachines me di cuenta que esta actualización era por asuntos de seguridad asi que me puse a googlear y encontré esto -->
http://www.simplemachines.org/community/index.php?topic=309741.0
"Hacked: 1.1.8 attachments / avatars still has a vulnerability"

Lo que entendí hasta la primera página era que un atacante había subido un avatar con contenido php  :rolleyes: .. no se pero ultimamente las explotaciones de bugs en SMF se explotan con un archivo adjunto a un tema o subiendo un avatar ya que su contenido no se filtra.

También pude leer el post donde se explica un poco mejor lo de la actualización y se recomienda oficialmente deshabilitar tremporalmente la subida de archivos al servidor -->
http://www.simplemachines.org/community/index.php?topic=309717.0

CitarFollowing these simple instructions will make your forum invulnerable to the recent attack by uploadable avatar.


Darioxhcx

esto mismo no estaba en las otras versiones ?
me precio leer algo asi.. o lei cualkiera... jajajja

buena info..
se agradece..
un saludo

WHK

#2
Citaresto mismo no estaba en las otras versiones ?
me precio leer algo asi.. o lei cualkiera... jajajja
Si, o sea era similar, se explotaba diferente pero al final el punto en que el avatar podía contener código malicioso seguía sin ser solucionado.

Aprovechando este post quiero exponer un par de bugs para smf 1.1.9:

1. Bug en el módulo de encuestas.
Si te fijas en el código fuente Sources/Pool.php Linea 164 a 166 podrás ver
Código (php) [Seleccionar]
foreach ($_REQUEST['options'] as $id)
{
$id = (int) $id;


A veces no puedes votar tranquilo porque te deniegan la visualización de los resultados si no votas primero asi que hacemos un bypass sabiendo que la variable es numérica pero en ningún lado especifica que no podamos ingresar valores negativos, le insertamos el valor "-1" y cuando le damos en votar nos aparecerán los resultados sin que nuestro voto afecte la encuesta.
Esto no es una vulnerabilidad grave, solo es un bug ya que no debería funcionar de esa forma.

2. El segundo bug está en el componente Sources/Sub-Auth.php linea 459 donde la query hacia la base de datos para ir buscando miembros puede ser de valores extremos haciendo que la memoria colapse o se detenga cuando llegue al limite estipulado en la configuración del php.ini.

Por ejemplo vamos a el perfil -> configuración de mensajes privados y le haces click donde dice buscar usuarios (esta opción está en varias secciones del perfil), se abrirá una pequeña ventana hacia:
http://foro.sitio/index.php?action=findmember;sesc=[hash]
donde dice buscar usuarios fijate que nos da un comodín asterisco asi que vamos a lo mas lógico con una mentalidad psicópata y le ponemos asterisco.. al darle buscar simplemente colapsará, nos dará error de php o reaccionará dependiendo de la forma de mostrar errores que esté configurado en el script o php.ini.

CitarFatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 86 bytes) in /home/vart001/public_html/foro/Sources/Subs-Auth.php on line 468

Haciendo unas pocas peticiones GET seguidas podrías hacer colapsar al servidor completo dejandolo sin recursos de memoria.

3. SMF no tiene control sobre la cantidad de noticias RSS desplegados en pantalla asi que puedes solicitar con toda confianza unos 999 post y te los comenzará a dar. Al igual que en el caso anterior solo basta hacer unas pocas peticiones seguidas de esta forma para que el servidor MySQL le deniegue el acceso a php debido a que sobrepasa el limite de memoria utilizado quedando el foro off.

Prueba:
http://foro.web/index.php?action=.xml;sa=news;board=34;limit=999;type=rss
CitarFatal error: Maximum execution time of 30 seconds exceeded in /home/vart001/public_html/foro/Sources/Load.php(195) : runtime-created function on line 3

4. Información disclosure:
No sirve el estado oculto de un perfil (opción de no mostrar si estás conectado) ya que si miras el perfil de una persona que no está conectada puedes ver que dice
CitarÚltima vez activo:     Hoy a las 07:18
y arriba en el foro dice:
Citar22 Mayo 2009, 07:18
asi que obiamente está conectado y podemos reclamarle el dinero que nos debe ese contacto  >:( , lo normal que debería hacer smf es no mostrar ese dato si se ha activado la casilla de estar invisible.

5. Información disclosure:
Hay una opción que dice no mostrar los post si el visitante no está registrado.. mm... fácil, le ponemos al final action=.xml y verás el foro en formato xml con temas y todo xD por ahi sdc había encontrado una forma de ver el perfil en formato xml asi que talves puedas enviar esa acción sin utilizar la variable action y ver otras secciones de la misma forma.

6. El csrf que publiqué hace bastante todavía sigue en pié, donde el usuario puede poner en su firma una imagen con el enlace hacia el colapso de todos los foros y cuando veas un post de ese atacante despues verás todos los foros colapsados.
Ejemplo:
mira la portada del foro ahora.






Nada les cuesta agregar un token sesc a la función.
No se si en este foro le pusieron un parche pero por lo menos oficialmente sigue así

Darioxhcx

un  ;-) whk
bastante bueno

muuy bueno =P
un saludo

seclogman

Ese LFI es viejo, pero se solucionaba deshabilitando la subida de avatares desde el paneladmin y listo.





:ohk<any>

Recomiendas la actualización a la versión 1.1.9  :huh:
Mas bien creo que me quedo con la 1.1.8  :P
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.

Novlucker

Que dice al pie del foro?  :rolleyes:

Saludos

P.D: igualmente los del foro siempre estan parchados XD
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

WHK

Cita de: ·ohk· en 22 Mayo 2009, 21:30 PM
Recomiendas la actualización a la versión 1.1.9  :huh:
Mas bien creo que me quedo con la 1.1.8  :P

Siempre opta por las actualizaciones, si tienes un sistema web nunca te quedes con una versión desactualizada o se puede prestar para muchas cosas como por wejemplo ataques, mal funcionamiento, incompatibilidad, etc.. simplemachines no saca una actualización solo para reparar fallos sino también para optimizar tareas, funciones, etc.
A veces dicen que la actualización x parcha un problema pero en realidad llevan muchos cambios que por no ser tan relevante no se dice pero muchas veces si marcan la diferencia.

Esto se aplica de igual manera en Wordpress, Joomla, etc y siempre, siempre, siempre intenta en lo posible estar lo mas actualizado posible.

invisible_hack

Pues la verdad, el otro dia estaba por otro SMF y, de pura casualidad, vi lo de 1.1.9 y dije ostras, han sacado una nueva versión...

Y vine aqui y vi que aun tenian la 1.1.8 asi que le mandé un MP al Brujo y cinco minutos despues ya estaba con la 9  ;)

A mi también me suena de haber oido ese bug en lo de los avatares, creo que no en este foro, pero si en alguno que participo...

"Si no visitas mi blog, Chuck te dará una patada giratoria"

WHK

Bueno ya se los reporté -->
http://www.simplemachines.org/community/index.php?topic=307717.msg2073213#msg2073213

Pero no me respondieron de buena forma -->
http://www.simplemachines.org/community/index.php?topic=307717.msg2073242#msg2073242

Creo que tenía bastante razón un amigo mio cuando dijo que los comentarios de fallas en smf no eran muy bién bienvenidas.

El soporte técnico dijo:
Citarok... rather than post a link to a spanish forum with a relatively useless comment, care to tell use what they claim the bug in 1.1.9 is?
post inutiles y donde está la falla, joder o no sabe español pero de ahi a que el post no sea relevante ps ayá ellos yo ya les avisé, yo no hablo ingles asi que no pude explicarles con detalles y ellos no saben español... no es mi culpa de nacer en chile y ellos en usa asi que que mas se le va a hacer, por lo menos cuando publiqué las fallas en joomla me respondieron en medio español jajaja.

Talves quieran un video demostrativo para que digan "aah era verdad" al igual que en joomla que después de varias semanas después publiqué el video e inmediatamente o reconsideraron.