Vulnerabilidad ‘Zero Day’ XSS en Zimbra Collaboration Suite.

Zimbra Collaboration Suite (ZCS) es una solución de correo electrónico que incluye funciones adicionales como libreta de direcciones de correo, calendario, visualizador de documentos web y uso compartido de archivos.

ZCS es compatible con una amplia gamma de clientes de correo de equipos móviles y de escritorio, además es de código abierto, por lo que actualmente es empleada por más de 200.000 empresas en 140 países, incluidas más de 1.000 organizaciones gubernamentales y financieras de todo el mundo.

La falla de seguridad (identificada con CVE-2023-37580) es un Cross-Site Scripting (XSS) descubierto e informado por el investigador de seguridad Clément Lecigne del grupo de análisis de amenazas de Google. Los actores de amenazas podrían aprovecharse de esta vulnerabilidad para robar información confidencial del usuario o ejecutar código malicioso.

Zimbra no ha revelado si se han realizado ataques a partir de la vulnerabilidad, sin embargo se conoce mediante la cuenta oficial de Twitter de Maddie Stone también del grupo de análisis de amenazas de Google que fue descubierta mientras se realizaba un exploit en un ataque dirigido.

Aún no se tiene un parche de seguridad disponible para dar solución a este “Zero Day”, no obstante, mientras se espera que la solución sea lanzada en la actualización de seguridad de julio de este año, Zimbra ha proporcionado una alternativa como “workarround” que se puede aplicar de forma manual para eliminar el vector de ataque.

Productos afectados:

  • ZCS – Zimbra Collaboration Suite 8.8.15

Recomendación:

  • Aplicar el parche de seguridad en cuanto esté disponible, el mismo se prevé para la actualización de seguridad de julio 2023.

Workarround:

  1. Realizar una copia de seguridad del archivo /opt/zimbra/jetty/webapps/zimbra/m/momoveto
  2. Editar el archivo, dirigirse a la línea número 40
  3. El parámetro value<input name=»st» type=»hidden» value=»${param.st}«/>
  4. Reemplazar por: <input name=»st» type=»hidden» value=»${fn:escapeXml(param.st)}«/>

Al usarse la función escapeXml(), se asegura que los datos dentro del documento XML se interpreten correctamente y se eviten errores de sintaxis o interpretaciones incorrectas, evitando así fallas de XSS.

Referencias: