Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Grave compromiso de seguridad en el servidor POP3 de Qualcomm

Última Actualización: 10 de Diciembre de 1.999 - Viernes

Artículo publicado en el boletín Una-Al-Día de Hispasec, el 28 de Noviembre de 1.999.

Se ha descubierto un grave problema de seguridad en las betas de la versión 3.0 del servidor POP3 de Qualcomm, conocido como Qpopper 3.0b. El fallo de seguridad permite que cualquier usuario remoto pueda ejecutar código arbitrario con privilegios de administrador o "root".

Qpopper es uno de los servidores POP3 (correo electrónico) más populares en el mundo internet, por sus buenas prestaciones y por ser completamente gratuito.

Todas las versiones 3.0beta son vulnerables, al menos hasta la versión 3.0b20. Las versiones antiguas del servidor (2.53) no son vulnerables a este ataque. Se recomienda, por tanto, que los administradores que puedan migrar, reinstalen la versión 2.53.

Qualcomm ha respondido en un plazo de horas, publicando la versión 30.b21, que parece solucionar el problema.

Los administradores que tengan instalada la versión 3.0b20 y no deseen descargar la 3.0b21, pueden instalar el siguiente parche:

>>>>>

--- pop_msg.c.old       Mon Nov 29 23:42:03 1999
+++ pop_msg.c   Mon Nov 29 23:52:08 1999
@@ -65,7 +65,7 @@
     /*  Append the message (formatted, if necessary) */
     if (format) {
#ifdef HAVE_VPRINTF
-        vsprintf(mp,format,ap);

+        vsnprintf(mp,MAXLINELEN - 100, format,ap);
#else
# ifdef PYRAMID
        arg1 = va_arg(ap, char *);
@@ -74,9 +74,9 @@
        arg4 = va_arg(ap, char *);
        arg5 = va_arg(ap, char *);
        arg6 = va_arg(ap, char *);
-        (void)sprintf(mp,format, arg1, arg2, arg3, arg4, arg5, arg6);
+        (void)sprintf(mp,MAXLINELEN - 100, format, arg1, arg2, arg3, arg4, arg5, arg6);
# else
-        (void)sprintf(mp,format,((int *)ap)[0],((int *)ap)[1],((int *)ap)[2],
+        (void)sprintf(mp,MAXLINELEN - 100, format,((int *)ap)[0],((int *)ap)[1],((int *)ap)[2],
                      ((int *)ap)[3],((int *)ap)[4]);
# endif
#endif

<<<<<

Más información:

Qpopper Home Page

Servidor FTP con los servidores Qualcomm Qpopper



Python Zope ©1999 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS