# CVE-2021-32720: List of order ids, number, items total and token value exposed for unauthorized uses via new API

> Unauthorized users can access order details like IDs and totals via a new API, potentially aiding social engineering or revealing shop metrics.

- **Severity:** Medium 5.3 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 28 Jun 2021
- **Updated:** 3 Aug 2024
- **Also known as:** GHSA-rpxh-vg2x-526v

## What is CVE-2021-32720?

CVE-2021-32720 is a medium-severity vulnerability in Sylius, published on 28 Jun 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Sylius is an Open Source eCommerce platform on top of Symfony. In versions of Sylius prior to 1.9.5 and 1.10.0-RC.1, part of the details (order ID, order number, items total, and token value) of all placed orders were exposed to unauthorized users. If exploited properly, a few additional information like the number of items in the cart and the date of the shipping may be fetched as well. This data seems to not be crucial nor is personal data, however, could be used for sociotechnical attacks or may expose a few details about shop condition to the third parties. The data possible to aggregate are the number of processed orders or their value in the moment of time. The problem has been patched at Sylius 1.9.5 and 1.10.0-RC.1. There are a few workarounds for the vulnerability. The first possible solution is to hide the problematic endpoints behind the firewall from not logged in users. This would put only the order list under the firewall and allow only authorized users to access it. Once a user is authorized, it will have access to theirs orders only. The second possible solution is to decorate the `\Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\OrdersByLoggedInUserExtension` and throw `Symfony\Component\Security\Core\Exception\AccessDeniedException` if the class is executed for unauthorized user.

Weakness: CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)

## Which versions are affected by CVE-2021-32720?

2 open source packages ship an affected version, including sylius/sylius. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `sylius/sylius` | Packagist | From 1.9.0 | 1.9.5 |
| `sylius/sylius` | Packagist | From 1.9.0 | 1.9.5 |

Products: Sylius Sylius.

## How do I fix CVE-2021-32720?

Upgrade sylius/sylius to 1.9.5 or later.

## Is CVE-2021-32720 being exploited?

There is no known exploitation of CVE-2021-32720 in the wild and no public exploit code.

## Other vulnerabilities in Sylius

- [CVE-2026-31824](https://insights.sbomify.com/CVE-2026-31824/): Sylius has a Promotion Usage Limit Bypass via Race Condition (high 8.2)
- [CVE-2024-57610](https://insights.sbomify.com/CVE-2024-57610/): Denial of service in n/a (high 7.5)
- [CVE-2026-31820](https://insights.sbomify.com/CVE-2026-31820/): Sylius affected by IDOR in Cart and Checkout LiveComponents (high 7.1)
- [CVE-2022-24743](https://insights.sbomify.com/CVE-2022-24743/): Insufficient Session Expiration in Sylius (high 7.1)
- [CVE-2026-31819](https://insights.sbomify.com/CVE-2026-31819/): Sylius has an Open Redirect via Referer Header (medium 6.9)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2021-32720 and fix it if it is affected.

What it is: CVE-2021-32720 is a medium-severity vulnerability in Sylius, published on 28 Jun 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2021-32720 in the wild and no public exploit code.

Affected packages and fixed versions:
- sylius/sylius (Packagist): affected from 1.9.0; fixed in 1.9.5
- sylius/sylius (Packagist): affected from 1.9.0; fixed in 1.9.5

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2021-32720/ (Markdown: https://insights.sbomify.com/CVE-2021-32720/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2021-32720
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2021-32720
- OSV: https://osv.dev/vulnerability/CVE-2021-32720

---
From sbomify Insights: https://insights.sbomify.com/CVE-2021-32720/
Summaries are generated and may contain mistakes; the official description above is the record.
