Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. craftcms/commerce
  4. ›
  5. CVE-2026-32271

CVE-2026-32271: Craft Commerce has a SQL Injection can lead to Remote Code Execution via TotalRevenue Widget

April 14, 2026

A SQL injection in the Commerce TotalRevenue widget can lead to remote code execution through a chain of four vulnerabilities:

  • SQL Injection – The TotalRevenue stat interpolates unsanitized widget settings directly into a sprintf-based SQL Expression. Any control panel user can create any widget type without permission checks.

  • PDO Multi-Statement Queries – PHP PDO MySQL enables CLIENT_MULTI_STATEMENTS by default. Neither Yii2 nor Craft CMS disables it. This allows stacking an INSERT statement after the injected SELECT , writing a maliciously serialized PHP object into the queue table.

  • Unrestricted unserialize() – The yii2-queue PhpSerializer calls unserialize() with no allowed_classes restriction on every queue job. When the queue consumer processes the injected job, it instantiates the attacker-controlled object.

  • Gadget Chain (FileCookieJar) – GuzzleHttp\Cookie\FileCookieJar (a standard Guzzle dependency) has an unguarded __destruct() method that calls file_put_contents(). The attacker’s serialized payload writes a PHP webshell to the server’s webroot. PHP tags survive json_encode() because Guzzle uses options=0 (no JSON_HEX_TAG).

The complete chain requires 3 HTTP requests and achieves arbitrary command execution as the PHP process user. Queue processing is triggered via GET /actions/queue/run, an endpoint that requires no authentication ($allowAnonymous = ['run']).

References

  • github.com/advisories/GHSA-875v-7m49-8x88
  • github.com/craftcms/commerce
  • github.com/craftcms/commerce/commit/6d2d24b3a2b0c06593856d05446f82bd8af92d72
  • github.com/craftcms/commerce/security/advisories/GHSA-875v-7m49-8x88
  • nvd.nist.gov/vuln/detail/CVE-2026-32271

Code Behaviors & Features

Detect and mitigate CVE-2026-32271 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 4.0.0 before 4.10.3, all versions starting from 5.0.0 before 5.5.5

Fixed versions

  • 4.10.3
  • 5.5.5

Solution

Upgrade to versions 4.10.3, 5.5.5 or above.

Impact 8.8 HIGH

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Source file

packagist/craftcms/commerce/CVE-2026-32271.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 09 May 2026 12:19:38 +0000.