A mediados de julio de 2023 se detectaron dos vulnerabilidades críticas de seguridad en Benno MailArchiv descubiertas.
El primer problema afecta a una vulnerabilidad crítica vulnerabilidad XSS (Cross Site Scripting), el otro es una vulnerabilidad crítica vulnerabilidad XSRF (Cross-Site Request Forgery).

Para las dos vulnerabilidades de seguridad, se asignaron números CVE:

  • CVE-2023-38347 (para la vulnerabilidad XSS)
  • CVE-2023-38348 (para la vulnerabilidad XSRF)

Solución:

Por favor, actualice su instalación de Benno MailArchiv prontamente a la última versión! Mediante la instalación de los paquetes benno-web (Version 2.10.2) y benno-rest (Version 2.10.1) se actualizan los dos componentes relevantes. Las vulnerabilidades críticas de seguridad se corrigen en ella.

Nota importante sobre la actualización:

La actualización obliga directamente desde la instalación el uso de HTTPS (también http SSL-cifrado) para la WebApp! 
Después de la actualización es un Login en la Benno WebApp solo por HTTPS ¡posible!

Sigue existiendo la posibilidad de usar el login para HTTP (no cifrado). Sin embargo, esto debe activarse de forma específica. En esta contribución en el Wiki de Benno se explica la activación del login HTML en texto plano: https://wiki.benno-mailarchiv.de/doku.php/http_plaintext_access

¡ATENCIÓN – IMPORTANTE:
La XSS-Lücke solo se cierra mediante el uso de HTTPS efectivamente cerrada!
Si la instalación se cambia manualmente al inicio de sesión HTML en texto plano como se describió, la XSS-Sicherheitslücke sigue siendo efectiva y el servidor es después nuevamente über die Sicherheitslücke vulnerable!

Más información sobre las dos vulnerabilidades críticas de seguridad:

En relación con CVE-2023-38347 (vulnerabilidad XSS):
La aplicación web Benno muestra los correos electrónicos en la interfaz web sin filtrar. Antes de mostrar el código HTML, este no se examina en busca de código JavaScript dañino, etc., ni se filtra.
Si una mail archivada contiene un código JavaScript deliberadamente dirigido y schädlichen JavaScript-Code y esta mail es mostrada por un usuario en la Benno WebApp, el código JavaScript puede acceder a la cookie de sesión, leerla y transmitir la información al atacante übermitteln. Un atacante wäre so bspw. en posición de exfiltrar los datos de acceso de Benno MailArchiv del usuario afectado y, a su vez, obtener acceso al archivo de correo (en la medida en que sea accesible por Internet). Asimismo, sería posible cambiar la contraseña del usuario conectado de la Benno WebApp. (Este vector de ataque está limitado temporalmente a la vida útil de la cookie de sesión. Cerrar el navegador del objetivo invalida la cookie de sesión).
En el paquete benno-web se modificó el manejo de cookies mediante la ampliación del modo httponly y el uso de Secure Cookies geändert. A los formularios en benno-web se añadió un token CSRF. Con este, el servidor web puede determinar ahora si el envío de un formulario proviene de un usuario legítimo a través del navegador del usuario o no. Con la versión actualizada de benno-web y benno-rest se cierra esta XSS-Sicherheitslücke. Antes de mostrar correos formateados en HTML, el código JavaScript ahora se elimina dentro de benno-rest.

En relación con CVE-2023-38348 (vulnerabilidad XSRF):
Debido a la vulnerabilidad XSRF, un administrador puede, por ejemplo, ser dirigido mediante un enlace a una página preparada y allí ser inducido a cambiar su contraseña u otras configuraciones – las que luego pueden caer en manos del atacante. Los atacantes tienen como “man in the middle” la posibilidad de obtener credenciales y otras características configuradas por el administrador über la WebApp.
En el paquete benno-web se introdujo ahora el uso de CSRF-Tokens eingeführt. Al iniciar sesión de un usuario, benno-web crea cada vez un token CSRF. Este se gestiona en la sesión y expira al final de la sesión. benno-web agrega este token CSRF a cada formulario web (como etiqueta hidden), que al enviarse provoca cambios en la base de datos (p. ej., cambiar contraseña, ajustar usuarios, etc.). Cuando un administrador envía una Änderung, el token se envía junto y se verifica si coincide con el emitido en la sesión. “Man in the middle” los ataques serán bloqueados eficazmente en el futuro.
Con la versión actualizada de benno-web y benno-rest se cierra esta Sicherheitslücke.