CVE-2020-16148 - Telmat - Authenticated root RCE

  • Titre : Telmat - Authenticated root Remote Code Execution
  • Auteur : @Podalirius
  • CVSS : 7.2 (High)
  • CVSS Vector : CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Résumé

Une injection de code authentifiée sur la page “Administration avancée” (Administration avancée) de Telmat AccessLog, Git@Box et Educ@Box avec la version logicielle <= 6.0 (TAL_20180415) permet l’exécution de code à distance (RCE) en tant que root.

Produits affectés :

Constructeur Modèle Version logicielle
TelMat AccessLog <= 6.0 (TAL_20180415)
TelMat Educ@Box <= 6.0 (TAL_20180415)
TelMat Gît@Box <= 6.0 (TAL_20180415)

Exploitation

Cette vulnérabilité a été testée sur un Telmat AccessLog 6.0 (TAL_20180415):

Un attaquant doit avoir un compte sur l’appareil permettant l’accès à l’interface d’administration. Ensuite, l’attaquant se rend sur la page “Administration avancée” du panneau d’administration, pour utiliser l’outil de test réseau ping:

https://${TELMAT_IP}:${PORT}/services/cmd.php?lang=fr&CMD=ping&host=127.0.0.1

Cette page permet à un administrateur d’utiliser ping, traceroute et d’autres outils pour déboguer les configurations réseau. Cependant, l’entrée utilisateur des commandes n’est pas filtrée et est directement exécutée par un shell. Par conséquent, nous pouvons simplement injecter des commandes directement dans le shell du système:

Command : ping
Payload : 127.0.0.1 -c0; id

Full POC URL : https://${TELMAT_IP}:${PORT}/services/cmd.php?lang=fr&CMD=ping&host=127.0.0.1%20-c0%3B%20id

Nous avons là une Remote Code Execution (RCE) authentifiée, et de plus nous sommes directement root sur le système:

Proof of Concept - Authenticated RCE

Remédiations

Afin de corriger cette vulnérabilité, vous devez mettre à jour votre TelMat avec la dernière version.