Critical SQLi in Vendure: Unauthenticated Remote Code Execution Risk
The National Vulnerability Database has disclosed CVE-2026-40887, a critical SQL injection vulnerability in Vendure, an open-source headless commerce platform. This flaw, present in versions 1.7.4 up to 2.3.4, 3.5.7, and 3.6.2, allows unauthenticated attackers to execute arbitrary SQL commands against the underlying database via the Vendure Shop API. The vulnerability stems from direct interpolation of a user-controlled query string parameter into a raw SQL expression without proper sanitization or parameterization. All supported database backends—PostgreSQL, MySQL/MariaDB, and SQLite—are affected.
While the Admin API is also vulnerable, it requires prior authentication, significantly limiting its attack surface compared to the publicly exposed Shop API. The National Vulnerability Database indicates that patches are available in versions 2.3.4, 3.5.7, and 3.6.2. For organizations unable to upgrade immediately, Vendure offers a hotfix that validates the languageCode input using RequestContextService.getLanguageCode, effectively blocking injection payloads before they reach the database. This hotfix replaces the existing method in packages/core/src/service/helpers/request-context/request-context.service.ts.
This isn’t just a data breach risk; a successful SQL injection, especially unauthenticated, can lead to full system compromise, data exfiltration, or even remote code execution depending on the database configuration and underlying OS. For e-commerce platforms, this is catastrophic. Attackers will prioritize targets running vulnerable versions, looking for quick wins to gain persistence and extract sensitive customer and financial data. The CVSS score of 9.1 (Critical) underscores the severity and ease of exploitation.
What This Means For You
- If your organization uses Vendure, prioritize patching to versions 2.3.4, 3.5.7, or 3.6.2 immediately to mitigate CVE-2026-40887. If immediate upgrade isn't feasible, deploy the provided hotfix for `RequestContextService.getLanguageCode`. Audit your Vendure logs for any unusual SQL queries or unauthenticated access attempts, especially on the Shop API endpoints.
Related ATT&CK Techniques
🛡️ Detection Rules
3 rules · 6 SIEM formats3 detection rules auto-generated for this incident, mapped to MITRE ATT&CK. Sigma YAML is free — export to any SIEM format via the Intel Bot.
CVE-2026-40887: Vendure Unauthenticated SQL Injection via Shop API
Indicators of Compromise
| ID | Type | Indicator |
|---|---|---|
| CVE-2026-40887 | SQLi | Vendure Shop API versions 1.7.4 up to 2.3.3, 3.5.6, and 3.6.1 |
| CVE-2026-40887 | SQLi | Vendure Admin API versions 1.7.4 up to 2.3.3, 3.5.6, and 3.6.1 (requires authentication) |
| CVE-2026-40887 | SQLi | Vulnerable component: user-controlled query string parameter interpolated directly into raw SQL expression |
| CVE-2026-40887 | SQLi | Hotfix: Validate `languageCode` input using `RequestContextService.getLanguageCode` in `packages/core/src/service/helpers/request-context/request-context.service.ts` |
Source & Attribution
| Source Platform | NVD |
| Channel | National Vulnerability Database |
| Published | April 21, 2026 at 23:17 UTC |
This content was AI-rewritten and enriched by Shimi's Cyber World based on the original source. All intellectual property rights remain with the original author.
Believe this infringes your rights? Submit a takedown request.