CVE-2024-31205 json
Saleor CSRF bypass in refreshToken mutation
published 2024-04-08 2 y ago modified 2026-06-17 4 mo ago also EUVD-2024-29109
- cvss
- 4.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 9%
- public exploits
- 0
- none known
Summary
Saleor is an e-commerce platform. Starting in version 3.10.0 and prior to versions 3.14.64, 3.15.39, 3.16.39, 3.17.35, 3.18.31, and 3.19.19, an attacker may bypass cross-set request forgery (CSRF) validation when calling refresh token mutation with empty string. When a user provides an empty string in `refreshToken` mutation, while the token persists in `JWT_REFRESH_TOKEN_COOKIE_NAME` cookie, application omits validation against CSRF token and returns valid access token. Versions 3.14.64, 3.15.39, 3.16.39, 3.17.35, 3.18.31, and 3.19.19 contain a patch for the issue. As a workaround, one may replace `saleor.graphql.account.mutations.authentication.refresh_token.py.get_refresh_token`. This will fix the issue, but be aware, that it returns `JWT_MISSING_TOKEN` instead of `JWT_INVALID_TOKEN`.
Patch / fix
- mirumee saleor 3.14.64, 3.15.39, 3.16.39, 3.17.35, 3.18.31, 3.19.19
- saleor saleor 3.14.64, 3.15.39, 3.16.39, 3.17.35, 3.18.31, 3.19.19
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 9% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.2 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N |
| NVD | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
Affected products
- saleor saleor
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
References
-
github.com
/saleor/saleor/commit/36699c6f5c99590d24f46e3d5c5b1a3c2fd072e7
patch
-
github.com
/saleor/saleor/security/advisories/GHSA-ff69-fwjf-3c9w
mitigation, patch, vendor-advisory
Sources
- CVE List CVE-2024-31205
- NVD CVE-2024-31205
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.