Mi-juillet 2023, deux vulnérabilités critiques dans Benno MailArchiv détectées.
Le premier problème concerne une vulnérabilité critique faille XSS (Cross Site Scripting), le second est une vulnérabilité critique faille XSRF (Cross-Site Request Forgery).

Des numéros CVE ont été attribués pour ces deux failles de sécurité :

  • CVE-2023-38347 (pour la faille XSS)
  • CVE-2023-38348 (pour la faille XSRF)

Solution :

Veuillez mettre à jour votre installation Benno MailArchiv promptement vers la dernière version ! En installant les paquets benno-web (Version 2.10.2) et benno-rest (Version 2.10.1) les deux composants pertinents sont mis à jour. Les deux vulnérabilités critiques sont ainsi corrigées.

Remarque importante concernant la mise à jour :

La mise à jour impose directement dès l'installation l'utilisation de HTTPS (also SSL-verschlüsseltem http) pour la WebApp! 
Après la mise à jour, il y a un identifiant dans la Benno WebApp uniquement via HTTPS possible!

Il reste possible d'utiliser la connexion pour HTTP (non chiffré). Cependant, cela doit être activé spécifiquement. Dans cet article du Wiki Benno, l'activation de la connexion HTML en texte brut est expliquée : https://wiki.benno-mailarchiv.de/doku.php/http_plaintext_access

ATTENTION – IMPORTANT:
La faille XSS n'est efficace que par l'utilisation de HTTPS effective fermée!
Si l'installation, comme décrit précédemment, est manuellement basculée sur le login HTML en texte brut, la faille XSS reste efficace et le serveur redevient alors vulnérable à la faille de sécurité!

More information on the two critical security vulnerabilities:

En ce qui concerne CVE-2023-38347 (XSS-faille):
L'application Web Benno affiche les e‑mails dans l'interface Web non filtrés. Avant l'affichage du code HTML, il n'est pas examiné pour détecter du code JavaScript malveillant, etc., ni filtré.
Si un e‑mail archivé contient un code JavaScript malveillant ciblé et que cet e‑mail est affiché par un utilisateur dans l'application Web Benno, le code JavaScript peut accéder au cookie de session, le lire et transmettre les informations à l'attaquant. Un attaquant pourrait ainsi, par exemple, extraire les données d'accès de Benno MailArchiv de l'utilisateur concerné et obtenir ainsi l'accès à l'archive mail (dans la mesure où elle est accessible via Internet). Il serait également possible, par ce biais, de changer le mot de passe de l'utilisateur connecté à l'application Web Benno. (Ce vecteur d'attaque est limité dans le temps à la durée de vie du cookie de session. La fermeture du navigateur de la victime rend le cookie de session invalide).
Dans le paquet benno-web, la gestion des cookies a été modifiée en étendant le mode httponly et en utilisant des cookies sécurisés. Un jeton CSRF a été ajouté aux formulaires de benno-web. Grâce à celui‑ci, le serveur Web peut désormais déterminer si la soumission d'un formulaire provient d'un utilisateur légitime via le navigateur de l'utilisateur ou non. Avec la version mise à jour de benno-web et benno-rest, cette faille de sécurité XSS est fermée. Avant l'affichage des e‑mails formatés en HTML, le code JavaScript est désormais supprimé dans benno-rest.

En ce qui concerne CVE-2023-38348 (XSRF-faille):
Par la faille de sécurité XSRF, un administrateur peut, par exemple, être dirigé via un lien vers une page préparée et être amené à changer son mot de passe ou à modifier d'autres paramètres – qui peuvent ensuite tomber entre les mains de l'attaquant. Les attaquants, en tant que “man in the middle”, ont ainsi la possibilité d'obtenir les identifiants et d'autres paramètres définis par l'administrateur via l'application Web.
Dans le paquet benno-web, l'utilisation de jetons CSRF a maintenant été introduite. Lors de la connexion d'un utilisateur, benno-web crée un tel jeton CSRF. Celui‑ci est géré dans la session et expire à la fin de la session. benno-web ajoute ce jeton CSRF à chaque formulaire Web (en tant que champ caché), qui, lors de la soumission, provoquent des modifications dans la base de données (par ex. changer le mot de passe, modifier l'utilisateur, etc.). Si un administrateur envoie ainsi une modification, ce jeton est transmis et vérifié pour voir s'il correspond à celui émis dans la session. Les attaques “man in the middle” seront ainsi efficacement bloquées à l'avenir.
Avec la version mise à jour de benno-web et benno-rest, cette faille de sécurité est fermée.