Les failles de sécurité sont monnaie courante dans le monde des bases de données comme ailleurs. Cette fois, c'est au tour du SGBD open source H2 d'être ouvert à des attaques informatiques par exécution de code malveillant à distance (RCE). Très répandu au coeur des applications Java - mais pouvant aussi tourner en mode client serveur - cet environnement utilisé par des plateformes web ou IoT dont Spring Noot et ThingWorks est populaire grâce à son empreinte mémoire particulièrement faible.

Le trou de sécurité (CVE-2021-42392) a été découvert par les chercheurs en sécurité de JFrog le 6 janvier 2022 et se rapproche de l'exploit Log4Shell. « La vulnérabilité ouvre plusieurs chemins d'accès pour injecter à distance du code malveillant dans le framework de base de données H2 en utilisant des URL non filtrées », explique JFrog. Selon les chercheurs, le vecteur d'attaque le plus risqué est la console de gestion H2 qui nécessite d'appliquer une mise à jour corrective dès que possible. « Si vous exécutez une console H2 exposée à votre LAN (ou pire au WAN), ce problème est extrêmement critique (exécution de code à distance non authentifié) et vous devez immédiatement mettre à jour votre base de données H2 vers la version 2.0.206 », prévient JFrog.

D'autres exploits à prévoir s'appuyant sur JNDI

« Bien que cette vulnérabilité utilise également le chargement de classe JNDI à distance, elle nécessite un accès qui n'est pas disponible avec la configuration par défaut de la base de données H2 », a expliqué de son côté Matthew Warner, co-fondateur et directeur de la technologie de la société de détection et de réponse automatisées aux menaces Blumira. « Log4j était unique en ce sens qu'un nombre quelconque de chaînes manipulées par des attaques, des en-têtes aux chemins d'URL, pouvait entraîner l'exploitation de la victime en fonction de la configuration de l'application pour utiliser la journalisation avec Log4j. Dans ce cas, la console de base de données H2 doit être délibérément exposée à Internet en modifiant la configuration et ne pas seulement en sniffant le localhost. »

Les vulnérabilités ayant des similitudes avec l'exploit Log4Shell devraient se multiplier ces prochains mois. Le module de chargement de classe à distance JNDI (Java Naming and Directory Interface) se retrouve en effet dans de très nombreux programmes Java et frameworks ce qui accroit potentiellement le risque d'exploit. « À notre connaissance, la CVE-2021-42392 est la première vulnérabilité RCE non authentifiée liée à JNDI à être publiée depuis Log4Shell, mais nous pensons que ce ne sera pas la dernière », prévient JFrog.