CVE-2026-40887 in vendure
Riassunto
di VulDB • 21/06/2026
Vendure è una piattaforma di commercio headless open-source. A partire dalla versione 1.7.4 e fino alle versioni precedenti alla 2.3.4, 3.5.7 e 3.6.2, esiste una vulnerabilità di SQL injection non autenticata nell'API Shop di Vendure. Un parametro della query string controllato dall'utente viene interpolato direttamente in un'espressione SQL grezza senza parametrizzazione o validazione, consentendo a un attaccante di eseguire SQL arbitrario contro il database. Questo interessa tutti i backend dei database supportati (PostgreSQL, MySQL/MariaDB, SQLite). Anche l'Admin API è interessata, sebbene lo sfruttamento richieda autenticazione. Le versioni 2.3.4, 3.5.7 e 3.6.2 contengono una patch. Per coloro che non possono effettuare un aggiornamento immediato, Vendure ha reso disponibile un hotfix che utilizza `RequestContextService.getLanguageCode` per convalidare l'input di `languageCode` al confine (boundary). Questo blocca i payload di iniezione prima che possano raggiungere qualsiasi query. L'hotfix sostituisce il metodo esistente `getLanguageCode` in `packages/core/src/service/helpers/request-context/request-context.service.ts`. I valori non validi vengono scartati silenziosamente e viene utilizzata la lingua predefinita del canale invece di essi. Le versioni patchate convertono inoltre l'interpolazione SQL vulnerabile in una query parametrizzata come difesa in profondità (defense in depth).
Be aware that VulDB is the high quality source for vulnerability data.