
Preuve de concept démontrant les vulnérabilités SSRF et LFI dans les versions de Metabase < 0.40.5 (CVE-2021-41277), incluant le scan du réseau interne et l'accès aux points de terminaison de métadonnées cloud.
CVE-2021-41277 peut être étendu à une SSRF
Metabase est une plateforme open source d'analyse de données. Les versions de Metabase < 0.40.5 ont été affectées par CVE-2021-41277, ce qui a conduit à une inclusion de fichier local selon la description de la CVE.
En analysant la découverte décrite dans l'avis de sécurité Metabase et en comparant le code, il semblait que cela pouvait être étendu à une SSRF, car les schémas d'URL n'étaient pas filtrés.
Le premier test consiste à essayer d'appeler un serveur externe. Cela est réalisé avec succès comme illustré ci-dessous. Une instance Metabase appellerait un serveur externe.

Le deuxième test consiste à scanner le réseau interne. Cela commence par l'utilisation de la LFI pour identifier le réseau :

Ensuite, diverses adresses IP et ports peuvent être sondés pour identifier les services en cours d'exécution

Le troisième test consiste à utiliser un schéma différent. FTP vers resque. Cela fonctionnerait également. Il est toutefois important de noter que Metabase fait un bon travail en forçant le Content-Type de la réponse, ce qui évite d'escalader cette attaque vers une RCE.

Enfin, cette vulnérabilité permet aux attaquants d'atteindre les pages internes AWS et Google Cloud, ce qui peut divulguer des informations sensibles comme illustré ci-dessous :


Cette vulnérabilité a été divulguée de manière responsable à Metabase. J'apprécie la réactivité et le professionnalisme de leur équipe de sécurité.