> CVE-2026-40887 [CRITICAL]

« BACK_TO_HOME
PUBLISHED
2026-04-21 20:17
MODIFIED
2026-04-21 20:17
CVSS_SCORE V3
9.1
EPSS (Prob. Exploit)
2.20%
Top 17.6%
🎯 NUCLEI TEMPLATE
DATA SOURCES:
NVD 🔗 2026-04-21 CWE MITRE 🔗 2026-11-01 FIRST EPSS 🔗 2026-10-25 GITHUB 🔗 2026-11-05 OSV 🔗 2026-07-26 NUCLEI 🔗 2026-05-21

> DESCRIPTION

Vendure is an open-source headless commerce platform. Starting in version 1.7.4 and prior to versions 2.3.4, 3.5.7, and 3.6.2, an unauthenticated SQL injection vulnerability exists in the Vendure Shop API. A user-controlled query string parameter is interpolated directly into a raw SQL expression without parameterization or validation, allowing an attacker to execute arbitrary SQL against the database. This affects all supported database backends (PostgreSQL, MySQL/MariaDB, SQLite). The Admin API is also affected, though exploitation there requires authentication. Versions 2.3.4, 3.5.7, and 3.6.2 contain a patch. For those who are unable to upgrade immediately, Vendure has made a hotfix available that uses `RequestContextService.getLanguageCode` to validate the `languageCode` input at the boundary. This blocks injection payloads before they can reach any query. The hotfix replaces the existing `getLanguageCode` method in `packages/core/src/service/helpers/request-context/request-context.service.ts`. Invalid values are silently dropped and the channel's default language is used instead. The patched versions additionally convert the vulnerable SQL interpolation to a parameterized query as defense in depth.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
EXPLOITABILITY
3.9
IMPACT
5.2

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
High (H)
Divulgation totale d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
High (H)
Interruption totale du service possible

> RÉSUMÉ DES IMPACTS

Confidentialité
High
Divulgation totale d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
High
Interruption totale du service possible

> WEAKNESSES

CWE-89

> CWE DETAILED DESCRIPTIONS

CWE-89: Improper Neutralization of Special Elements used in an SQL Command - The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

> GITHUB SECURITY ADVISORY

GHSA-9pp3-53p2-ww9v CRITICAL

@vendure/core has a SQL Injection vulnerability

AFFECTED PACKAGES:
NPM / @vendure/core
>= 1.7.4, < 2.3.4
Fixed in: 2.3.4
NPM / @vendure/core
>= 3.6.0, < 3.6.2
Fixed in: 3.6.2
NPM / @vendure/core
>= 3.0.0, < 3.5.7
Fixed in: 3.5.7

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

@vendure/core has a SQL Injection vulnerability

AFFECTED PACKAGES:
Unknown / Unknown
29 versions affected
ALIASES:
GHSA-9pp3-53p2-ww9v

> NUCLEI TEMPLATES

Des templates Nuclei sont disponibles pour scanner cette vulnérabilité.

🎯
CVE-2026-40887.yaml
http/cves/2026/CVE-2026-40887.yaml
Usage: nuclei -t http/cves/2026/CVE-2026-40887.yaml -u target.com

> HISTORIQUE DES MODIFICATIONS

Première apparition
21/04/2026 20:17
Source: NVD
📊 ENRICHISSEMENT 01/11/2026 06:59
CWE
Champ modifié: Description CWE
Ancienne valeur:
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') - The product constructs all or part of an SQL command using externally-influenced input from an upstream c...
Nouvelle valeur:
CWE-89: Improper Neutralization of Special Elements used in an SQL Command - The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it d...
📊 ENRICHISSEMENT 01/05/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') - The product constructs all or part of an SQL command using externally-influenced input from an upstream c...
Total des modifications: 2 Dernière mise à jour: 1 week ago

> REFERENCES

https://github.com/vendurehq/vendure/security/advisories/GHSA-9pp3-53p2-ww9v
« BACK_TO_HOME