CVE-2026-40887
Təsvir
Vendure açıq mənbəli headless ticarət platformasıdır. Versiya 1.7.4-dən başlayaraq və versiyalar 2.3.4, 3.5.7 və 3.6.2-dən əvvəlki versiyalarda Vendure Shop API-da autentifikasiyasız SQL inyeksiyası zəifliyi mövcuddur. İstifadəçi tərəfindən idarə olunan sorğu sətri parametri parametrləşdirmə və ya validasiya olmadan birbaşa xam SQL ifadəsinə daxil edilir ki, bu da hücumçuya verilənlər bazasında ixtiyari SQL sorğularını icra etməyə imkan verir. Bu, bütün dəstəklənən verilənlər bazası backendlərini (PostgreSQL, MySQL/MariaDB, SQLite) təsir altına salır. Admin API da təsirlənmişdir, lakin orada istismar üçün autentifikasiya tələb olunur. Versiyalar 2.3.4, 3.5.7 və 3.6.2 yamağı ehtiva edir. Dərhal yeniləmə imkanı olmayanlar üçün Vendure, sərhəddə `languageCode` girişini validasiya etmək üçün `RequestContextService.getLanguageCode` metodundan istifadə edən hotfix təqdim etmişdir. Bu, inyeksiya payload-larının hər hansı bir sorğuya çatmazdan əvvəl bloklanmasını təmin edir. Hotfix `packages/core/src/service/helpers/request-context/request-context.service.ts` faylındakı mövcud `getLanguageCode` metodunu əvəz edir. Yanlış dəyərlər səssiz şəkildə silinir və bunun əvəzinə kanalın standart dili istifadə olunur. Yamaqlanmış versiyalar əlavə olaraq, dərin müdafiə (defense in depth) prinsipi kimi həssas SQL interpolasiyasını parametrləşdirilmiş sorğuya çevirir.
Necə düzəltmək olar
- @vendure/core3.5.7, 3.6.2, 2.3.4 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| @vendure/corenpm | 3.0.0 ≤ v < 3.5.7, 3.6.0 ≤ v < 3.6.2, 1.7.4 ≤ v < 2.3.4 | 3.5.7, 3.6.2, 2.3.4 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.