Il y a maintenant urgence à appliquer les correctifs livrés en mai par SAP pour sa base de données Adaptive Server Enterprise. Des milliers d’entreprises dans le monde utilisent en effet la solution ASE, issue du rachat de l’éditeur Sybase en 2010. Les chercheurs en sécurité qui ont découvert et signalé les failles concernées enjoignent désormais aux organisations de déployer les correctifs aussi vite que possible. Ces vulnérabilités risquent en effet de permettre à des attaquants de prendre le contrôle de ces databases et des serveurs sur lesquels elles fonctionnent. SAP ASE, connu auparavant sous le nom de Sybase SQL Server, est une base de données relationnelle à haute performance qui dispose d’options de déploiement on-premise et dans le cloud. Elle est utilisée par plus de 30 000 organisations à travers le monde, dont 90% des plus grandes banques et entreprises de sécurité, selon les chiffres de SAP.
La mise à jour de sécurité livrée en mai par SAP comporte 18 bulletins dont 7 couvrent les vulnérabilités trouvées dans ASE. Ces failles sont associées à des niveaux de criticité allant de moyen à sévère. 6 d’entre elles ont été signalées par des chercheurs de la firme Trustwave qui les a documentées hier dans un billet. Avec les informations détaillées désormais accessibles à tous, les entreprises doivent s’assurer que les correctifs sont immédiatement appliqués. « Les organisations stockent souvent leurs données les plus critiques dans des databases qui, de leur côté, se trouvent souvent dans des environnements non fiables ou sont exposés publiquement », rappelle Trustware. « Il est donc essentiel de les prendre en compte rapidement et d’effectuer des tests car elles menacent non seulement les données de la base, mais aussi, potentiellement, l'hôte complet sur lequel elle s’exécute. »
CVE-2020-6248, score de 9.1, risque d'injection de code
La faille la plus sérieuse, référencée CVE-2020-6248, a un score critique de 9.1 sur 10 sur l’échelle CVSS (Common Vulnerabilities Scoring System). Elle provient d’un manque de contrôle de sécurité sur les fichiers de configuration lors des opérations de sauvegarde de la base. Plus précisément, la faille permet à tous les utilisateurs autorisés à lancer la commande DUMP pour corrompre le fichier de configuration sur le serveur de backup. « Au prochain redémarrage du serveur de sauvegarde, la corruption du fichier de configuration sera détectée par le serveur et il remplacera la configuration par celle par défaut », expliquent les chercheurs de Trustwave. « Et la configuration par défaut permet à n’importe qui de se connecter au serveur de backup en utilisant le même login et un mot de passe vide ! ». Les attaquants peuvent ensuite modifier le paramètre sybmultbuf_binary sur le serveur pour pointer vers un exécutable malveillant et déclencher son exécution avec les commandes DUMP suivantes. Sous Windows, cette opération s’effectue avec les privilèges LocalSystem par défaut, ce qui attribue à l’attaquant potentiel et à son code malveillant un contrôle complet sur la machine.
Une autre faille d’élévation de privilèges, référencée CVE-2020-6252, présente un score CVSS de 9.0. Le problème porte sur le composant Cockpit d’ASE qui utilise une petite database d’assistance basée sur SQL Anywhere et qui s’exécute aussi avec les privilèges LocalSystem. Le mot de passe pour se connecter dans cette base d’assistance est stocké dans un fichier de configuration qui peut être lu par tous les utilisateurs du système d’exploitation. Cela signifie qu’un attaquant disposant d’un accès à un compte Windows local non privilégié peut aussi accéder à cette petite base et exécuter des commandes qui entraîneront l’écrasement des fichiers de l’OS. Cela peut potentiellement entraîner l'exécution de code malveillant avec les privilèges LocalSystem. Une 3ème faille d'élévation de privilèges, CVE-2020-6243 ayant un score CVSS de 8.0, loge dans le composant XP Server qui est automatiquement installé avec SAP ASE sur Windows. Tout utilisateur de la base de données, quel que soit son niveau de privilège, peut forcer le serveur XP à exécuter le fichier C: \ SAP \ .DLL. Cet emplacement est accessible en écriture pour tout utilisateur de Windows, ce qui permettrait à des attaquants d’y installer par remplacement un fichier malveillant. Puisque XP Server s'exécute en tant que LocalSystem, l'exploitation de cette faille peut entraîner l'exécution de code arbitraire avec des privilèges système complets.
Deux failles d’injection SQL
Les chercheurs en sécurité ont également débusqué et rapporté deux vulnérabilités d'injection SQL qui peuvent entraîner la compromission complète de la base de données. L’une d’elles (CVE-2020-6241, score CVSS de 8.8) vient de la routine de traitement des tables temporaires globales. Tout utilisateur valide de la base de données, sans privilèges spéciaux, peut l’exploiter pour obtenir un accès administrateur à l'ensemble de la base de données. La seconde (CVE-2020-6253, score CVSS de 7.2) loge dans le code de traitement de WebServices et peut être déclenché en chargeant une copie de database (dump) spécifiquement conçue à cet effet. « L’attaque se déroule en deux étapes : premièrement, sur une base ASE contrôlée par un attaquant, un dump est créé pour contenir une entrée de table système malveillante », expliquant les chercheurs. « Ensuite, la copie est chargée sur la database ASE attaquée afin que l'injection SQL interne se produise pendant le traitement de l’entrée erronée de la copie ».
La dernière vulnérabilité (CVE-2020-6250, score CVSS de 6.8) porte sur une fuite d’informations. Les logs d’installation de ASE sur les systèmes Unix et Linux contiennent les mots de passe en clair. Ces historiques ne sont consultables que par le compte SAP, mais s’il existe un autre problème qui autorise l’accès au système de fichiers, cela peut entraîner la compromission complète du déploiement ASE.
Un code trop personnalisé retarde l'application des correctifs
SAP a livré des correctifs pour les versions 15.7 et 16.0 de la base de données ASE. Mais les experts en sécurité ont déjà prévenu par le passé que les clients de l’éditeur prennent régulièrement du retard sur l’application des correctifs livrés en raison du fort niveau de personnalisation de leur environnement. La firme de sécurité Onapsis, spécialisée dans la sécurisation des applications critiques, estime que chaque déploiement SAP compte en moyenne 2 millions de lignes de code personnalisé ajoutées par leurs utilisateurs. Cet état de fait complique l’application des mises à jour de sécurité et les changements de configuration puisque des tests de compatibilité doivent être d’abord réalisés. Les clients SAP prennent régulièrement du retard sur les correctifs en raison du haut niveau de personnalisation de leur environnement. La société de sécurité Onapsis, spécialisée dans la sécurisation des applications critiques, estime que chaque déploiement SAP compte en moyenne 2 millions de lignes de code personnalisé ajoutées par leurs utilisateurs. Cela rend l'application des mises à jour de sécurité et la modification des configurations un processus compliqué, car les tests de compatibilité doivent être effectués en premier.
Les déploiements d’ASE qui sont directement exposés sur Internet sont plus vulnérables, mais les failles peuvent être également exploitées par des attaquants qui accèdent aux réseaux d’entreprise par le biais d’autres vecteurs d’attaque, par approche progressive (latérale). « La bonne pratique consiste à n’exposer aucune base sur Internet, mais il arrive que des entreprises le fassent », a indiqué à nos confrères de CSO Martin Rakhmanov, responsable de la recherche en sécurité du laboratoire SpiderLab de Trustwave. « Les failles découvertes peuvent servir dans les deux cas, mais je pense que le scénario d’attaque par approche progressive (latérale) devrait être plus couramment utilisé ». M. Rakhmanov a précisé que Trustwave ne disposait pas de mesures télémétriques sur l’état d’avancement de mise en place des patches sur les déploiements SAP ASE dans les environnements clients, mais il a réitéré ses recommandations habituelles : « Corrigez au moment opportun, c’est-à-dire aussi vite que possible ».