Breaking the BeeStation: Inside Our Pwn2Own 2025 Exploit Journey
Mis à jour :
Exploitation d’une vulnérabilité critique sur le Synology BeeStation Plus
Une recherche de vulnérabilités sur le Synology BeeStation Plus (BST170-8T) a conduit à l’identification d’une faille permettant d’obtenir un accès root. Le processus a débuté par la collecte du firmware, accessible publiquement mais chiffré, nécessitant l’utilisation d’un outil de déchiffrement spécifique. L’analyse de la surface d’attaque a révélé que le serveur web Nginx exposait plusieurs interfaces réseau, notamment via l’endpoint /webapi/entry.cgi. Ce dernier servait de point d’entrée vers divers services backend, chacun gérant des API spécifiques, décrites dans des fichiers .lib.
Points Clés :
- Accès aux API: Le périphérique expose de nombreuses API à travers l’endpoint
/webapi/entry.cgi. L’identification de celles accessibles sans authentification a permis de réduire la surface d’attaque. - Analyse du firmware: L’utilisation de l’outil
synodecrypta permis de déchiffrer le firmware pour analyse. - Mécanisme d’exploitation: L’exploitation repose sur une combinaison de fuites d’informations (canary de pile, adresse de pile, adresse de la bibliothèque) et d’une chaîne ROP (Return Oriented Programming) pour exécuter des commandes arbitraires.
- Performance: L’exploitation, bien que complexe, a été accélérée par l’utilisation du multithreading pour les phases de bruteforce.
Vulnérabilités :
- CVE-2025-12686: Une vulnérabilité de type dépassement de tampon basé sur la pile a été découverte dans la méthode
authdu point d’entréeSYNO.BEE.AdminCenter.Auth. Le traitement du paramètreauth_info, après un décodage Base64, utilise la taille fournie par l’attaquant pour écrire dans un tampon de taille fixe (4096 octets) sur la pile. Ce débordement, combiné à la présence d’un canary de pile réutilisable et à l’exécution avec des privilèges root, permet le contrôle du flux d’exécution.
Recommandations :
- Mise à jour immédiate: Appliquer la mise à jour du système d’exploitation du BeeStation (BSM) à la version 1.3.2-65648 ou ultérieure. Synology a corrigé cette vulnérabilité en ajoutant une vérification de taille avant le décodage Base64, empêchant ainsi le dépassement de tampon.
- Renforcement des contrôles d’entrée: Les développeurs devraient toujours valider rigoureusement la taille des entrées utilisateur avant de les utiliser dans des opérations d’écriture en mémoire, en particulier lors du traitement de données décodées.
- Gestion des privilèges: Bien que la vulnérabilité ait été découverte sur un processus s’exécutant en root, une saine pratique de sécurité consiste à accorder uniquement les privilèges nécessaires aux processus.
