CVE-2026-105850 — @payloadcms/plugin-ecomme…
Fix: payloadcms/payload@6c0c4dcCVE-2026-105850 is a CWE-837 vulnerability in @payloadcms/plugin-ecommerce. A fix is available for @payloadcms/plugin-ecommerce — see the affected versions and patch details below.
Payload: Order confirmation validation issue in Payload Ecommerce
Exploitation Status
No confirmed exploitation observed yet
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- 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 CVE-2026-105850.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
@payloadcms/plugin-ecommercenpmDescription
Impact
When using the Stripe payment adapter, an order confirmation could be processed more than once under certain conditions.
You are affected if:
- You use
@payloadcms/plugin-ecommercewith the Stripe payment adapter.
Deployments that do not use the Stripe payment flow are not affected.
Patches
Users should upgrade Payload packages to >= 3.90.0 or >= 4.0.0-canary.34.
Workarounds
Ensure Stripe order confirmations can only be processed once. This is a temporary mitigation; upgrading to a patched version is recommended.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | @payloadcms/plugin-ecommerce | all versions | 3.90.0npm install @payloadcms/plugin-ecommerce@3.90.0 |
| 📦npm | @payloadcms/plugin-ecommerce | ≥ 4.0.0-canary.0&&< 4.0.0-canary.34 | 4.0.0-canary.34npm install @payloadcms/plugin-ecommerce@4.0.0-canary.34 |
Affected Products
payloadpayloadcmsDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for @payloadcms/plugin-ecommerce, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update @payloadcms/plugin-ecommerce to 3.90.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-105850 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 CVE-2026-105850 in your dependencies?
Find it across npm, including transitive dependencies.