CVE-2026-31825
Received Received - Intake
DQL Injection in Sylius API Order Filters Enables Data Manipulation

Publication date: 2026-03-10

Last updated on: 2026-03-18

Assigner: GitHub, Inc.

Description
Sylius is an Open Source eCommerce Framework on Symfony. Sylius API filters ProductPriceOrderFilter and TranslationOrderNameAndLocaleFilter pass user-supplied order direction values directly to Doctrine's orderBy() without validation. An attacker can inject arbitrary DQL. The issue is fixed in versions: 1.9.12, 1.10.16, 1.11.17, 1.12.23, 1.13.15, 1.14.18, 2.0.16, 2.1.12, 2.2.3 and above.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-10
Last Modified
2026-03-18
Generated
2026-06-16
AI Q&A
2026-03-11
EPSS Evaluated
2026-06-14
NVD
EUVD
Affected Vendors & Products
Showing 9 associated CPEs
Vendor Product Version / Range
sylius sylius to 1.9.12 (exc)
sylius sylius From 1.10.0 (inc) to 1.10.16 (exc)
sylius sylius From 1.11.0 (inc) to 1.11.17 (exc)
sylius sylius From 1.12.0 (inc) to 1.12.23 (exc)
sylius sylius From 1.13.0 (inc) to 1.13.15 (exc)
sylius sylius From 1.14.0 (inc) to 1.14.18 (exc)
sylius sylius From 2.0.0 (inc) to 2.0.16 (exc)
sylius sylius From 2.1.0 (inc) to 2.1.12 (exc)
sylius sylius From 2.2.0 (inc) to 2.2.3 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-943 The product generates a query intended to access or manipulate data in a data store such as a database, but it does not neutralize or incorrectly neutralizes special elements that can modify the intended logic of the query.
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in the Sylius Open Source eCommerce Framework on Symfony. Specifically, the Sylius API filters ProductPriceOrderFilter and TranslationOrderNameAndLocaleFilter accept user-supplied order direction values and pass them directly to Doctrine's orderBy() function without any validation.

Because of this lack of validation, an attacker can inject arbitrary Doctrine Query Language (DQL) statements, potentially manipulating database queries in unintended ways.

This issue has been fixed in several versions of Sylius, including 1.9.12, 1.10.16, 1.11.17, 1.12.23, 1.13.15, 1.14.18, 2.0.16, 2.1.12, 2.2.3 and above.

Impact Analysis

The vulnerability allows an attacker to inject arbitrary DQL into the orderBy clause of database queries. This can lead to unauthorized manipulation of database queries.

While the CVSS score indicates a moderate severity (5.3) with low complexity and no privileges or user interaction required, the impact is limited to confidentiality as per the CVSS vector (C:L/I:N/A:N).

This means an attacker could potentially access or infer some sensitive data but cannot modify data or cause availability issues.

Compliance Impact

I don't know

Detection Guidance

I don't know

Mitigation Strategies

To mitigate this vulnerability, you should upgrade Sylius to one of the fixed versions: 1.9.12, 1.10.16, 1.11.17, 1.12.23, 1.13.15, 1.14.18, 2.0.16, 2.1.12, 2.2.3 or above.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-31825. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart