CVE-2026-31825
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
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| 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 ID | Description |
|---|---|
| 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. |
| 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. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
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.
How can this vulnerability impact me? :
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.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
I don't know
What immediate steps should I take to mitigate this vulnerability?
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.