El lenguaje PERL en su versión 5.6 (la actual) y anteriores tiene un fallo de seguridad que, en muchos sistemas, puede permitir que un usuario local alcance privilegios de administrador o «root».
El lenguaje PERL incluye un ejecutable SETUID que permite la ejecución de cualquier script con los privilegios de su usuario propietario. Bajo determinadas circunstancias (cuando se detecta un intento de uso malicioso), ese intérprete envía un mensaje de aviso al administrador del sistema, utilizando el ejecutable «/bin/mail». Lamentablemente dicho programa de correo no está diseñado para ser invocado desde una aplicación «SETUID», por lo que atacante malicioso local puede introducirle datos especialmente formateados que le permitan ejecutar código arbitrario como cualquier otro usuario, especialmente como «root» o administrador.
Aunque la explotación en sí del fallo se produce en «/bin/mail», no corresponde a este programa la responsabilidad del problema, ya que se trata de un componente que nunca se dise_¢ para ser ejecutado por un proceso SETUID. La responsabilidad recae exclusivamente sobre SPERL, por ser un programa de seguridad cr¡tica, SETUID, que lanza procesos fuera de su control directo y no se preocupa de «limpiar» las variables de entorno y dem s datos de entrada recibidos por dichos procesos, que nunca fueron dise_ados para ser utilizados bajo este tipo de configuraciones.
Dado que SPERL invoca expl¡citamente a la aplicaci¢n «/bin/mail», aquellos sistemas que no dispongan de dicha aplicaci¢n o ‘sta se encuentre en otro path, *NO* ser n vulnerables. Entre los sistemas no vulnerables debido a este hecho tenemos a la distribuci¢n Debian de Linux, o las versiones 2.1.x, 2.2.x, 3.x y 4.0 de FreeBSD.
Los administradores con usuarios locales no confiables deben actualizar su distribuci¢n PERL cuanto antes (la actualizaci¢n env¡a las notificaciones al «syslog», en vez de por email) o, en caso de no necesitar la funcionalidad SPERL, eliminar la bandera «+s» del ejecutable.
Opina sobre esta noticia:
http://www.hispasec.com/unaaldiacom.asp?id=671
M s informaci¢n:
PERL
http://www.perl.org/
Updated mailx and perl packages are now available
http://www.redhat.com/support/errata/RHSA-2000-048-02.html
Root exploit in sperl
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=15630
suidperl has a major problem
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=15641
sperl vulnerability
http://www.calderasystems.com/support/security/advisories/CSSA-2000-026.0.txt
Jesos Cea Avi¢n
jcea@hispasec.com
http://www.hispasec.com