Cabecera-v2-web.jpg

Vulnerabilidades de Ejecución Remota de Código en PHPMailer


Hace unos dí­as se descubrió una vulnerabilidad de ejecución remota de código en PHPMailer, una librerí­a de PHP utilizada para enví­o de correos, que está presente en numerosos sitios web, y que muchas veces viene incluida con CMS y plugins. Una explotación exitosa podrí­a permitir a atacantes ejecutar código arbitrario, obteniendo así­ un control total sobre el servidor web.

La vulnerabilidad se debe a una sanitización inadecuada de los parámetros de la función de enví­o de correo, la cual puede ser utilizada para ejecutar código remoto en el servidor. La vulnerabilidad puede ser explotada en cualquier servidor en el que se den las siguientes condiciones:

  • La aplicación utiliza isMail(), la función de transporte por defecto que a su vez utiliza la función mail()
  • El parámetro From es obtenido de una entrada de usuario
  • Las propiedades de Sender no son establecidas explí­citamente
  • El servidor no ejecuta el servicio de postfix
Sistemas afectados:
  • PHPMailer < 5.2.20
  • Cualquier plugin, framework, CMS u otros que incluyen dicha clase PHP


Al no estar establecida explí­citamente las propiedades Sender, éstos se copian de la dirección, la cual es convertida a string y es pasada a la función mail() de PHP como parámetro adicional.

Es posible construir una dirección de correo que cumpla con el formato establecido, pero que además, ejecute código.

La vulnerabilidad fue identificada por CVE-2016-10033, y el dí­a 26/12 se publicó una nueva versión, 5.2.18, y luego la 5.2.19, las cuales pretendí­an corregir la vulnerabilidad. Sin embargo, el dí­a de ayer se notificó que el parche en realidad no corregí­a completamente la vulnerabilidad, y que existí­an maneras de evadir los controles implementados. Esta vulnerabilidad se identificó con CVE-2016-10045. Se ha publicado una nueva versión 5.2.20, y posteriormente 5.2.21 las cuales corrigen esta vulnerabilidad

Los afectados por el fallo de seguridad de PHPMailer no solo son usuarios, sino que también se pueden contar por varios los CMS que son vulnerables a exploits que permiten ejecutar código de forma remota. WordPress, Drupal, Joomla, y muchos otros gestores de contenidos utilizan esta librerí­a para permitir el enví­o de correos. Muchos plugins también deberán ser actualizados próximamente, de modo a incluir la librerí­a corregida.

A pesar de que el investigador decidió no publicar todos los detalles de la vulnerabilidad, debido al impacto que podrí­a tener en los millones de sitios que no se encuentran actualizados, ya se han desarrollado exploits públicos, lo que aumenta el riesgo de ataque. Se ha descubierto que estas vulnerabilidades ya están siendo explotadas masivamente. un atacante puede utilizar algún componente básico de la web como los formularios de contacto/comentario, formularios de registro, reseteo de contraseñas, o cualquier otro que enví­e correos electrónicos para poder comprometer el servidor.

Una explotación exitosa podrí­a permitir a atacantes ejecutar código arbitrario, obteniendo así­ un control total sobre el servidor web.


Modo de Solución:
Actualizar PHPMailer a la última versión, 5.2.21. La misma puede ser obtenida aquí­: https://github.com/PHPMailer/PHPMailer

En el caso de que su aplicación web utilice un plugin o componente basado en PHPMailer, el mismo debe ser actualizado, en caso de que el desarrollador del mismo haya publicado una nueva versión que corrija la vulnerabilidad.


Mayor información: https://cert.gov.py/application/files/8914/8303...



pie.png

CERT-PY | Centro de Respuestas a Incidentes Cibernéticos
Ministerio de Tencnologí­as de la Información y Comunicación (MITIC)

Avda. Gral. Santos c/ Concordia | Telefono: (595 21) 217-9000
República del Paraguay

80x15.png

Versión del Template 1.11