Read the docs
TI-2024-20582 Aliases CVE-2024-31205

Saleor CSRF bypass in refreshToken mutation

Priority LOW 24CWE-352Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Tampering
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-352.

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`.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00193 9th percentileScored 2026-11-07
Fix Fixed saleor (saleor): 3.14.64, 3.15.39, 3.16.39 +3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
saleorsaleor3.10.0 to before 3.14.64; 3.15.0 to before 3.15.39; 3.16.0 to before 3.16.39; 3.17.0 to before 3.17.35; 3.18.0 to before 3.18.31; 3.19.0 to before 3.19.193.14.64, 3.15.39, 3.16.39, 3.17.35, 3.18.31, 3.19.19Patch availableCNA
  • saleor Vendorsaleor Affected 3.10.0 to before 3.14.64; 3.15.0 to before 3.15.39; 3.16.0 to before 3.16.39; 3.17.0 to before 3.17.35; 3.18.0 to before 3.18.31; 3.19.0 to before 3.19.19 Fixed in 3.14.64, 3.15.39, 3.16.39, 3.17.35, 3.18.31, 3.19.19 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:*3.10.0 to before 3.14.64; 3.15.0 to before 3.15.39; 3.16.0 to before 3.16.39; 3.17.0 to before 3.17.35; 3.18.0 to before 3.18.31; 3.19.0 to before 3.19.19Vulnerablesaleor
  • cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:* Versions 3.10.0 to before 3.14.64; 3.15.0 to before 3.15.39; 3.16.0 to before 3.16.39; 3.17.0 to before 3.17.35; 3.18.0 to before 3.18.31; 3.19.0 to before 3.19.19 Vulnerable ·saleor

Remediation

  • Fix · CNA saleor (saleor) Fixed in 3.14.64, 3.15.39, 3.16.39, 3.17.35, 3.18.31, 3.19.19

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-31205

References

  • TI-2026-19454 Saleor has an Insecure Direct Object Reference (IDOR) in GraphQL API CVSS 4.0HIGH 8.7
  • TI-2026-27537 Saleor has a resource exhaustion vulnerability in GraphQL queries CVSS 3.1HIGH 7.5
  • TI-2026-26135 Saleor Affected by Denial of Service via Unbounded GraphQL Query Batching CVSS 3.1HIGH 7.5
  • TI-2026-18932 Saleor vulnerable to stored XSS via Unrestricted File Upload CVSS 4.0HIGH 8.5
  • TI-2026-18341 Saleor lacks proper HTML sanitization in rich text fields CVSS 4.0HIGH 7.2
  • TI-2022-18651 Improper object type validation in saleor CVSS 3.1MEDIUM 5.3
See all 13 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences