Un ensemble de 16 failles de sécurité de haute gravité ont été divulguées dans le kit de développement logiciel (SDK) CODESYS V3 qui pourraient entraîner l’exécution de code à distance et un déni de service dans des conditions spécifiques, posant des risques pour les environnements de technologie opérationnelle (OT).
Les failles, suivies de CVE-2022-47378 à CVE-2022-47393 et baptisées CoDe16, portent un score CVSS de 8,8 à l’exception de CVE-2022-47391, qui a un indice de gravité de 7,5. Douze des failles sont des vulnérabilités de débordement de tampon.
« L’exploitation des vulnérabilités découvertes, qui affectent toutes les versions de CODESYS V3 antérieures à la version 3.5.19.0, pourrait exposer l’infrastructure de la technologie opérationnelle (OT) à des attaques, telles que l’exécution de code à distance (RCE) et le déni de service (DoS ) », a déclaré Vladimir Tokarev de la Microsoft Threat Intelligence Community dans un rapport.
Bien qu’une militarisation réussie des failles nécessite une authentification de l’utilisateur ainsi qu’une connaissance approfondie du protocole propriétaire de CODESYS V3, les problèmes pourraient avoir de graves impacts pouvant entraîner des arrêts et des altérations malveillantes des processus d’automatisation critiques.
Les bogues d’exécution de code à distance, en particulier, pourraient être exploités pour détourner les dispositifs OT et interférer avec le fonctionnement des contrôleurs logiques programmables (PLC) d’une manière qui pourrait ouvrir la voie au vol d’informations.
« L’exploitation des vulnérabilités nécessite l’authentification de l’utilisateur ainsi que le contournement de la prévention de l’exécution des données (DEP) et de la randomisation de la disposition de l’espace d’adresse (ASLR) utilisées par les deux automates », a expliqué Tokarev.
Pour franchir la barrière d’authentification des utilisateurs, une vulnérabilité connue (CVE-2019-9013, score CVSS : 8,8) est utilisée pour voler les informations d’identification au moyen d’une attaque par rejeu contre l’automate, puis en exploitant les failles pour déclencher un débordement de tampon et gagner contrôle de l’appareil.
Des correctifs pour les failles ont été publiés en avril 2023. Une brève description des problèmes est la suivante –
- CVE-2022-47378 – Après une authentification réussie, des demandes de communication spécialement conçues avec un contenu incohérent peuvent entraîner la lecture interne du composant CmpFiletransfer à partir d’une adresse non valide, ce qui peut entraîner une condition de déni de service.
- CVE-2022-47379 – Après une authentification réussie, des demandes de communication spécialement conçues peuvent amener le composant CmpApp à écrire des données contrôlées par l’attaquant dans la mémoire, ce qui peut entraîner une condition de déni de service, un écrasement de la mémoire ou l’exécution de code à distance.
- CVE-2022-47380 et CVE-2022-47381 – Après une authentification réussie, des demandes de communication spécialement conçues peuvent amener le composant CmpApp à écrire des données contrôlées par l’attaquant dans la pile, ce qui peut entraîner une condition de déni de service, un écrasement de la mémoire ou l’exécution de code à distance.
- CVE-2022-47382, CVE-2022-47383, CVE-2022-47384, CVE-2022-47386, CVE-2022-47387, CVE-2022-47388, CVE-2022-47389 et CVE-2022-47390 – Après une authentification réussie, des demandes de communication spécialement conçues peuvent amener le composant CmpTraceMgr à écrire des données contrôlées par l’attaquant dans la pile, ce qui peut entraîner une condition de déni de service, un écrasement de la mémoire ou l’exécution de code à distance.
- CVE-2022-47385 – Après une authentification réussie, des demandes de communication spécialement conçues peuvent amener le composant CmpAppForce à écrire des données contrôlées par l’attaquant dans la pile, ce qui peut entraîner une condition de déni de service, un écrasement de la mémoire ou l’exécution de code à distance.
- CVE-2022-47391 – Les demandes de communication spécialement conçues peuvent entraîner la lecture interne des produits concernés à partir d’une adresse non valide, ce qui peut entraîner une condition de déni de service.
- CVE-2022-47392 – Après une authentification réussie, des demandes de communication spécialement conçues avec un contenu incohérent peuvent entraîner la lecture interne des composants CmpApp/CmpAppBP/CmpAppForce à partir d’une adresse non valide, ce qui peut entraîner une condition de déni de service.
- CVE-2022-47393 – Après une authentification réussie, des requêtes de communication spécialement construites peuvent amener le composant CmpFiletransfer à déréférencer les adresses fournies par la requête d’accès en lecture interne, ce qui peut conduire à une situation de déni de service.
« Avec CODESYS utilisé par de nombreux fournisseurs, une vulnérabilité peut affecter de nombreux secteurs, types d’appareils et secteurs verticaux, sans parler de plusieurs vulnérabilités », a déclaré Tokarev.
« Les acteurs de la menace pourraient lancer une attaque DoS contre un appareil utilisant une version vulnérable de CODESYS pour arrêter les opérations industrielles ou exploiter les vulnérabilités RCE pour déployer une porte dérobée pour voler des données sensibles, altérer des opérations ou forcer un automate à fonctionner de manière dangereuse. . »