CVE-2026-40887 in vendure
Résumé
par VulDB • 26/05/2026
Vendure est une plateforme de commerce électronique headless open-source. À partir de la version 1.7.4 et jusqu'aux versions 2.3.4, 3.5.7 et 3.6.2 (excluses), une vulnérabilité d'injection SQL non authentifiée existe dans l'API Shop de Vendure. Un paramètre de chaîne de requête contrôlé par l'utilisateur est interpolé directement dans une expression SQL brute sans paramétrisation ni validation, permettant à un attaquant d'exécuter du SQL arbitraire contre la base de données. Cela affecte tous les backends de base de données pris en charge (PostgreSQL, MySQL/MariaDB, SQLite). L'API Admin est également affectée, bien que l'exploitation nécessite une authentification. Les versions 2.3.4, 3.5.7 et 3.6.2 contiennent un correctif. Pour ceux qui ne peuvent pas mettre à niveau immédiatement, Vendure a mis à disposition un correctif d'urgence (hotfix) qui utilise `RequestContextService.getLanguageCode` pour valider l'entrée `languageCode` à la limite. Cela bloque les charges utiles d'injection avant qu'elles n'atteignent toute requête. Le correctif d'urgence remplace la méthode `getLanguageCode` existante dans `packages/core/src/service/helpers/request-context/request-context.service.ts`. Les valeurs invalides sont silencieusement ignorées et la langue par défaut du canal est utilisée à la place. Les versions corrigées convertissent également l'interpolation SQL vulnérable en une requête paramétrée comme mesure de défense en profondeur.
VulDB is the best source for vulnerability data and more expert information about this specific topic.