JetBrains - CVE-2026-108474

Date de publication :

Il s’agit d’une vulnérabilité dans la génération des requêtes SQL de la bibliothèque Exposed.

Exposed est une bibliothèque Kotlin d’accès aux bases de données relationnelles. Elle propose une API SQL typée et une couche d’objets (DAO). Elle est publiée par JetBrains.

Plusieurs fonctions SQL acceptent un argument de type chaîne Kotlin. Les fonctions concernées sont locate, concat, groupConcat, match et les fonctions JSON extract, exists et contains. Les implémentations propres à chaque base écrivent cette chaîne directement dans le texte de la requête. Elle est placée dans un littéral entre apostrophes. Les apostrophes qu’elle contient ne sont pas échappées. Un attaquant peut donc fermer le littéral et ajouter du code SQL. L’attaque exige qu’une application transmette à l’une de ces fonctions une valeur contrôlée par l’attaquant.

Elle permet à un attaquant distant d’exécuter des requêtes SQL arbitraires sur la base de données de l’application.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Non

Risques

•   Atteinte à la confidentialité des données
•   Atteinte à l'intégrité des données

Exploitation

La vulnérabilité exploitée est du type
CWE-89 : Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

JetBrains Exposed versions antérieures à 1.5.1

Solutions ou recommandations

JetBrains Exposed versions 1.5.1 et supérieures.