Bug en SMF 1.1.8 y 1.1.9 by OzdoX
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/commun...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 .. 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/commun...topic=309717.0
Cita:
Following these simple instructions will make your forum invulnerable to the recent attack by uploadable avatar. |
Se explota de la siguiente manera:
Se sube un avatar con comandos arbitrarios que puede ser una c99
Se ve la dirección index.php?action=theme;sa=pick;u=[id de tu perfil];sesc=[tu hash sesc]
y smf hará una inclusión hacia tu avatar creyendo que es un theme modificas tu theme y le das la ruta del avatar terminado en o \0 que es un null byte.
http://www.simplemachines.org/commun...804#msg2056804
Descarga la versión 1.1.9 que tiene parchado el problema -->
http://download.simplemachines.org/
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:
foreach ($_REQUEST['options'] as $id) { $id = (int) $id;
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.
Cita:
Fatal 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=.xm...t=999;type=rss
Cita:
Fatal error: Maximum execution time of 30 seconds exceeded in /home/vart001/public_html/foro/Sources/Load.php(195) : runtime-created function on line 3 |
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
Cita:
Última vez activo: Hoy a las 07:18 |
Cita:
22 Mayo 2009, 07:18 |
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 todabí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.
Saludos,
xassiz
0 comentarios:
Publicar un comentario