martes, 24 de abril de 2001

Vulnerabilidad en los servidores NTP

La implementación más popular del demonio NTP (Network Time Protocol)
contiene un problema de seguridad que permite la ejecución de código
arbitrario en el servidor NTP, típicamente con privilegios de
administrador o "root".

NTP es un protocolo estándar para la sincronización de relojes de
máquinas interconectadas a través de redes de datos, en particular
Internet. Este protocolo permite que el reloj de un sistema mantenga una
gran precisión, independientemente de su calidad intrínseca y de las
condiciones de la red.

Ni que decir tiene que el poder garantizar una gran calidad en el reloj
de un sistema es muy importante a nivel de servidores para, por ejemplo,
mantener un sistema de logs y auditoría preciso, sobre todo si se están
comparando ficheros de máquinas distintas.

El problema se localiza en la generación del datagrama de respuesta a
una petición maliciosa. No es posible limitar las peticiones a
servidores confiables, por cortafuegos, ya que el protocolo NTP utiliza
UDP como medio de transporte, y falsear datagramas UDP es trivial.

Los administradores que no requieran un control extremadamente preciso
del tiempo, puede eliminar el servidor NTP de sus sistemas, y
sincronizar sus máquinas periódicamente utilizando comandos como "rdate"
o "ntpdate".

Si es posible, deben actualizarse el NTP a la versión 4.0.99k23, del 11
de Abril. Existe una versión con la misma numeración, pero anterior en
fecha, que es vulnerable.

Gracias a que NTP se distribuye en código fuente, existen parches que se
pueden aplicar si no es posible actualizar el demonio ni retirarlo del
servicio:


- --- ntpd/ntp_control.c.20010412 Mon Apr 9 15:47:20 2001
+++ ntpd/ntp_control.c Thu Apr 12 17:11:47 2001
@@ -1759,9 +1759,11 @@
}
if (cp < reqend)
cp++;
- - *tp = '\0';
- - while (isspace(*(tp-1)))
- - *(--tp) = '\0';
+ while (tp > buf) {
+ *tp-- = '\0';
+ if
(!isspace((int)(*tp)))
+ break;
+ }
reqpt = cp;
*data = buf;
return v;


El problema parece afectar también a algunos entornos integrados, como
las versiones 11.x del IOS de Cisco. Este extremo, no obstante, no ha
sido confirmado.

Más información:

ntpd remote root exploit:
http://www.securityfocus.com/archive/1/174011

DSA-045-2 ntpd: remote root exploit:
http://www.debian.org/security/2001/dsa-045

There is a potentially exploitable buffer overflow in the xntp3 package:
http://www.linuxsecurity.com/advisories/other_advisory-1273.html

Subject: [suse-security-announce] SuSE Security Announcement: xntp:
http://www.suse.com/de/support/security/2001_010_xntp.txt

Network Time Daemon (ntpd) has potential remote root exploit:
http://www.redhat.com/support/errata/RHSA-2001-045.html

SCO:
ftp://ftp.sco.com/SSE/sse074.ltr
ftp://ftp.sco.com/SSE/sse073.ltr

ntpd contains potentital remote compromise:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-01%3A31.ntpd.asc

NTP remote buffer overflow:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-01%3A31.ntpd.asc

NTP:
http://www.ntp.org/
http://www.ntp.org/ntp_spool/ntp4/ntp-4.0.99k23.tar.gz




Jesús Cea Avión
jcea@hispasec.com