CVE-2026-105848: Payload Insufficient Access Control Vulnerability
MODERATECVE-2026-105848 is a MODERATE insufficient access control vulnerability (CWE-749: Exposed Dangerous Method or Function) affecting Payload libraries in the npm ecosystem. The issue involves insufficient access control in stripe rest proxy. Remediation is available by upgrading affected packages to version 3.90.0, 4.0.0-canary.34.
CVE-2026-105848 at a Glance
How to Fix CVE-2026-105848
To remediate this vulnerability, upgrade all affected Payload dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install @payloadcms/plugin-stripe@3.90.0
npm install @payloadcms/plugin-stripe@4.0.0-canary.34
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls @payloadcms/plugin-stripe
How to Check if You Are Affected
To determine whether your Node.js application is affected by CVE-2026-105848, inspect your project dependencies using npm:
npm ls @payloadcms/plugin-stripe
Analyze the terminal output to locate any version of Payload in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 3.90.0), your application is affected.
Note: The npm ls @payloadcms/plugin-stripe command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-749: Exposed Dangerous Method or Function, where the product provides an applications programming interface (api) or similar interface for interaction with external actors, but the interface includes a dangerous method or function that is not properly restricted. In Payload, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-105848 Affected Payload Versions
2 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
@payloadcms/plugin-stripe
|
npm |
< 3.90.0
|
3.90.0
|
|
@payloadcms/plugin-stripe
|
npm |
≥ 4.0.0-canary.0
< 4.0.0-canary.34
|
4.0.0-canary.34
|
References
Frequently Asked Questions
What is CVE-2026-105848?
Which Payload versions are affected?
What version fixes CVE-2026-105848?
Is @payloadcms/plugin-stripe affected?
What CWE is associated with CVE-2026-105848?
How can I check npm dependencies for CVE-2026-105848?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-r9v2-gg2j-22q5",
"modified" : "2026-10-06T16:09:47Z",
"published" : "2026-10-06T16:09:46Z",
"aliases" : [ "CVE-2026-105848" ],
"summary" : "Payload: Insufficient Access Control in Stripe REST Proxy",
"details" : "## Impact\n\nAn authenticated user could perform unintended Stripe operations through the optional Stripe REST proxy.\n\n**You are affected if ALL of these are true:**\n\n- Your application uses `@payloadcms/plugin-stripe`.\n- The optional Stripe REST proxy is enabled.\n- An authenticated user can reach the proxy.\n\nDeployments that do not enable the Stripe REST proxy are not affected.\n\n## Patches\n\nUsers should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`.\n\n## Workarounds\n\nUpgrading to a patched version is recommended. \n\nIf you cannot upgrade immediately, disable the Stripe REST proxy. If it must remain enabled, restrict access to trusted users and only the required Stripe operations.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "@payloadcms/plugin-stripe"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "3.90.0"
} ]
} ]
}, {
"package" : {
"ecosystem" : "npm",
"name" : "@payloadcms/plugin-stripe"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "4.0.0-canary.0"
}, {
"fixed" : "4.0.0-canary.34"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/payloadcms/payload/security/advisories/GHSA-r9v2-gg2j-22q5"
}, {
"type" : "WEB",
"url" : "https://github.com/payloadcms/payload/commit/2f94a4205e5ba3ec0e91c92ed54f24f429826dd0"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/payloadcms/payload"
}, {
"type" : "WEB",
"url" : "https://github.com/payloadcms/payload/releases/tag/v3.90.0"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-749", "CWE-862" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-10-06T16:09:46Z",
"nvd_published_at" : null
}
}