Saleor: Customers' addresses leak when using Warehouse as a `Pickup: Local stock only` delivery methodGHSA-mrj3-f2h4-7w45
MEDIUMFix: saleor/saleor#15697GHSA-mrj3-f2h4-7w45 is a medium-severity (CVSS 4.2) CWE-359 vulnerability in saleor. A fix is available for saleor — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-mrj3-f2h4-7w45.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
saleor🐍saleor🐍saleor🐍saleor🐍saleor🐍saleorReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Summary
Using Pickup: Local stock only as a click-and-collect points could cause a leak of customer addresses
Details
When using Pickup: Local stock only click-and-collect as a delivery method in specific conditions the customer could overwrite the warehouse address with its own, which exposes its address as click-and-collect address.
Impact
The vulnerability can cause the leak of customer's address when using click-and-collect delivery option marked as Local stock only. It has impact on all orders with click-and-collect delivery method marked as Pickup:Local stock only
The affected versions: >=3.14.56 <3.14.61, >=3.15.31 <3.15.37, >=3.16.27 <3.16.34, >=3.17.25 <3.17.32, >=3.18.19 <3.18.28, >=3.19.5 <3.19.15
This issue has been patched in versions: 3.14.61, 3.15.37, 3.16.34, 3.17.32, 3.18.28, 3.19.15
Workaround
We strongly recommend upgrading to the latest versions, in case of inability to upgrade straight away, possible workarounds are:
- turn off click-and-collect delivery method on warehouse view when
Pickupoption is set toLocal stock only. - cherry-pick the changes from PRs: https://github.com/saleor/saleor/pull/15694 & https://github.com/saleor/saleor/pull/15697
References
- Commits introducing the issue (https://github.com/saleor/saleor/commit/22a1aa3ef0bc54156405f69146788016a7f3f761 main, https://github.com/saleor/saleor/commit/997f7ea4f576543ec88679a86bfe1b14f7f2ff26 3.14, https://github.com/saleor/saleor/commit/ef003c76a304c89ddb2dc65b7f1d5b3b2ba1c640 3.15, https://github.com/saleor/saleor/commit/39abb0f4e4fe6503f81bfbb871227e4f70bcdd5c 3.16, https://github.com/saleor/saleor/commit/b7cecda8b603f7472790150bb4508c7b655946d4 3.17, https://github.com/saleor/saleor/commit/dccc2c842b4e2e09470929c80f07dc137e439182 3.18, https://github.com/saleor/saleor/commit/d8ba545c16ad3153febc5b5be8fd2ef75da9fc95 3.19)
- https://github.com/saleor/saleor/commit/47cedfd7d6524d79bdb04708edcdbb235874de6b (main branch) https://github.com/saleor/saleor/releases/tag/3.14.60 https://github.com/saleor/saleor/releases/tag/3.14.61 https://github.com/saleor/saleor/releases/tag/3.15.36 https://github.com/saleor/saleor/releases/tag/3.15.37 https://github.com/saleor/saleor/releases/tag/3.16.33 https://github.com/saleor/saleor/releases/tag/3.16.34 https://github.com/saleor/saleor/releases/tag/3.17.31 https://github.com/saleor/saleor/releases/tag/3.17.32 https://github.com/saleor/saleor/releases/tag/3.18.27 https://github.com/saleor/saleor/releases/tag/3.18.28 https://github.com/saleor/saleor/releases/tag/3.19.14 https://github.com/saleor/saleor/releases/tag/3.19.15
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | saleor | ≥ 3.14.56&&< 3.14.61 | 3.14.61pip install --upgrade 'saleor==3.14.61' |
| 🐍PyPI | saleor | ≥ 3.15.31&&< 3.15.37 | 3.15.37pip install --upgrade 'saleor==3.15.37' |
| 🐍PyPI | saleor | ≥ 3.16.27&&< 3.16.34 | 3.16.34pip install --upgrade 'saleor==3.16.34' |
| 🐍PyPI | saleor | ≥ 3.17.25&&< 3.17.32 | 3.17.32pip install --upgrade 'saleor==3.17.32' |
| 🐍PyPI | saleor | ≥ 3.18.19&&< 3.18.28 | 3.18.28pip install --upgrade 'saleor==3.18.28' |
| 🐍PyPI | saleor | ≥ 3.19.5&&< 3.19.15 | 3.19.15pip install --upgrade 'saleor==3.19.15' |
Affected Products
saleorsaleorDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for saleor, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update saleor to 3.14.61 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-mrj3-f2h4-7w45 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-mrj3-f2h4-7w45 in your dependencies?
Find it across PyPI, including transitive dependencies.