Wysoka

Craft Commerce is Vulnerable to SQL Injection in Commerce Purchasables Table Sorting

  • Ujawniono: 10.03.2026
  • Aktualizacja: 11.10.2026 10:22

Summary

Craft Commerce is vulnerable to SQL Injection in the purchasables table endpoint. The sort parameter is split by | and the first part (column name) is passed directly as an array key to orderBy() without whitelist validation. Yii2's query builder does NOT escape array keys, allowing an authenticated attacker to inject arbitrary SQL into the ORDER BY clause.


PoC

Required Permissions

  • General
    • Access the control panel
    • Access Craft Commerce
  • Craft Commerce
    • Manage orders
    • Edit orders

Steps to reproduce

  1. Log in to the control panel
  2. Navigate to Commerce > Orders > Create a new order
  3. Click on "Add a line item" to show the purchasables table
  4. Intercept the AJAX request and modify the sort parameter as follows:
http
GET /index.php?p=admin/actions/commerce/orders/purchasables-table&siteId=1&sort=id,(SELECT%20SLEEP(2))|asc
  1. Observe the delay in the response, confirming the injection

Alternatively, you can use the following curl (bash syntax) command (replace cookie and target domain as needed):

bash
curl --path-as-is -k -H $'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0' -H $'Accept: application/json, text/plain, */*' -b $'<Cookie>' $'http://craft.local/index.php?p=admin%2Factions%2Fcommerce%2Forders%2Fpurchasables-table&siteId=1&sort=id,(SELECT%20SLEEP(5))|asc'

Impact

With this Blind SQLi, an attacker can:

  • Exfiltrate data character-by-character (same technique as GHSA-pmgj-gmm4-jh6j).
  • Modify or destroy data (drop tables, update records, alter schema).

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka Composer craftcms/commerce >= 4.0.0, < 4.10.2, >= 5.0.0, < 5.5.3 4.10.2, 5.5.3

Odnośniki

Ocena CVSS -
Wektor CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Słabość (CWE)
CWE-89
Platforma
Composer
Paczka
craftcms/commerce
Ujawniono
10.03.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-j3x5-mghf-xvfw - CC BY 4.0

Historia podatności: craftcms/commerce

Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (21) w archiwum
Wszystkich wpisów
21
Pierwsza → ostatnia
02.2026 06.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Wysoka 5
  • Średnia 13
  • Niska 3

Ujawnienia w latach

  1. 2026: 21
Istotność:
  1. Wysoka CVE-2026-32271 >= 4.0.0, < 4.10.3, >= 5.0.0, < 5.5.5 4.10.3, 5.5.5
  2. Wysoka CVE-2026-32272 >= 5.0.0, < 5.6.0 5.6.0
  3. Craft Commerce is Vulnerable to SQL Injection in Commerce Purchasables Table Sorting ten wpis
    Wysoka CVE-2026-29172 >= 4.0.0, < 4.10.2, >= 5.0.0, < 5.5.3 4.10.2, 5.5.3

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.