CVE-2024-45800

Snappymail is an open source web-based email client. SnappyMail uses the `cleanHtml()` function to cleanup HTML and CSS in emails. Research discovered that the function has a few bugs which cause an mXSS exploit. Because the function allowed too many (invalid) HTML elements, it was possible (with incorrect markup) to trick the browser to "fix" the broken markup into valid markup. As a result a motivated attacker may be able to inject javascript. However, due to the default Content Security Policy the impact of the exploit is minimal. It could be possible to create an attack which leaks some data when loading images through the proxy. This way it might be possible to use the proxy to attack the local system, like with `http://localhost:5000/leak`. Another attack could be to load a JavaScript attachment of the email. This is very tricky as the email must link to every possible UID as each email has a unique UID which has a value between 1 and 18446744073709551615 **v2.38.0** and up now remove unsupported HTML elements which mitigates the issue. Users are advised to upgrade. Older versions can install an extension named "Security mXSS" as a mitigation. This will be available at the administration area at `/?admin#/packages`. **NOTE:** this extension can not "fix" malicious code in encrypted messages or (html) attachments as it can't manipulate the JavaScript code for this. It only protects normal message HTML.
Configurations

No configuration.

History

20 Sep 2024, 12:31

Type Values Removed Values Added
Summary
  • (es) Snappymail es un cliente de correo electrónico basado en la web de código abierto. SnappyMail utiliza la función `cleanHtml()` para limpiar el HTML y CSS en los correos electrónicos. La investigación descubrió que la función tiene algunos errores que provocan un exploit mXSS. Debido a que la función permitía demasiados elementos HTML (no válidos), era posible (con un marcado incorrecto) engañar al navegador para que "arreglara" el marcado roto y lo convirtiera en un marcado válido. Como resultado, un atacante motivado podría ser capaz de inyectar JavaScript. Sin embargo, debido a la Política de seguridad de contenido predeterminada, el impacto del exploit es mínimo. Podría ser posible crear un ataque que filtre algunos datos al cargar imágenes a través del proxy. De esta manera, podría ser posible usar el proxy para atacar el sistema local, como con `http://localhost:5000/leak`. Otro ataque podría ser cargar un archivo adjunto de JavaScript del correo electrónico. Esto es muy complicado, ya que el correo electrónico debe vincularse a cada UID posible, ya que cada correo electrónico tiene un UID único que tiene un valor entre 1 y 18446744073709551615 **v2.38.0** y versiones posteriores ahora eliminan los elementos HTML no compatibles, lo que mitiga el problema. Se recomienda a los usuarios que actualicen. Las versiones anteriores pueden instalar una extensión llamada "Security mXSS" como mitigación. Estará disponible en el área de administración en `/?admin#/packages`. **NOTA:** esta extensión no puede "arreglar" código malicioso en mensajes cifrados o archivos adjuntos (html) ya que no puede manipular el código JavaScript para esto. Solo protege el HTML de los mensajes normales.

16 Sep 2024, 20:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-09-16 20:15

Updated : 2024-09-20 12:31


NVD link : CVE-2024-45800

Mitre link : CVE-2024-45800

CVE.ORG link : CVE-2024-45800


JSON object : View

Products Affected

No product.

CWE
CWE-79

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')