Payload: Insufficient Access Control in Stripe REST Proxy
## Impact An authenticated user could perform unintended Stripe operations through the optional Stripe REST proxy. **You are affected if ALL of these are true:** - Your application uses `@payloadcms/plugin-stripe`. - The optional Stripe REST proxy is enabled. - An authenticated user can reach the proxy. Deployments that do not enable the Stripe REST proxy are not affected. ## Patches Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`. ## Workarounds Upgrading to a patched version is recommended. If 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.
- Products
- @payloadcms/plugin-stripe
- Affected versions
- Not specified
- Fixed versions
- 3.90.0, 4.0.0-canary.34
- CVEs
- CVE-2026-105848
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 27 Oct 2026, 12:11 UTC · Revision 1
Source evidence
Payload: Insufficient Access Control in Stripe REST Proxy
core-osv · Original sourcePublished 6 Oct 2026, 16:09 UTC
## Impact An authenticated user could perform unintended Stripe operations through the optional Stripe REST proxy. **You are affected if ALL of these are true:** - Your application uses `@payloadcms/plugin-stripe`. - The optional Stripe REST proxy is enabled. - An authenticated user can reach the proxy. Deployments that do not enable the Stripe REST proxy are not affected. ## Patches Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`. ## Workarounds Upgrading to a patched version is recommended. If 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.
osv:GHSA-r9v2-gg2j-22q5
@payloadcms/plugin-stripe
Fixed versions: 3.90.0
@payloadcms/plugin-stripe
Fixed versions: 4.0.0-canary.34
Complete source record
{
"id": "300ec03999edafbd12582eb4c6afd0fd2b6b6d90baa76f2ffd4637454c55c9a0",
"url": "https://osv.dev/vulnerability/GHSA-r9v2-gg2j-22q5",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Payload: Insufficient Access Control in Stripe REST Proxy",
"summary": "## Impact An authenticated user could perform unintended Stripe operations through the optional Stripe REST proxy. **You are affected if ALL of these are true:** - Your application uses `@payloadcms/plugin-stripe`. - The optional Stripe REST proxy is enabled. - An authenticated user can reach the proxy. Deployments that do not enable the Stripe REST proxy are not affected. ## Patches Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`. ## Workarounds Upgrading to a patched version is recommended. If 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.",
"evidence": "osv:GHSA-r9v2-gg2j-22q5",
"products": [
{
"name": {
"value": "@payloadcms/plugin-stripe",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.90.0",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "@payloadcms/plugin-stripe",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "4.0.0-canary.34",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "GHSA-r9v2-gg2j-22q5",
"aliases": [
"CVE-2026-105848",
"GHSA-r9v2-gg2j-22q5"
],
"metrics": [
{
"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": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.90.0"
}
]
}
],
"package": {
"name": "@payloadcms/plugin-stripe",
"purl": "pkg:npm/%40payloadcms/plugin-stripe",
"ecosystem": "npm"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-r9v2-gg2j-22q5/GHSA-r9v2-gg2j-22q5.json"
}
},
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "4.0.0-canary.0"
},
{
"fixed": "4.0.0-canary.34"
}
]
}
],
"package": {
"name": "@payloadcms/plugin-stripe",
"purl": "pkg:npm/%40payloadcms/plugin-stripe",
"ecosystem": "npm"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-r9v2-gg2j-22q5/GHSA-r9v2-gg2j-22q5.json"
}
}
],
"modified": "2026-10-06T16:15:05.075463625Z",
"provider": "osv",
"references": [
"https://github.com/payloadcms/payload/security/advisories/GHSA-r9v2-gg2j-22q5",
"https://github.com/payloadcms/payload/commit/2f94a4205e5ba3ec0e91c92ed54f24f429826dd0",
"https://github.com/payloadcms/payload",
"https://github.com/payloadcms/payload/releases/tag/v3.90.0"
],
"provider_metadata": {
"cwe_ids": [
"CWE-749",
"CWE-862"
],
"severity": "MODERATE",
"github_reviewed": true,
"nvd_published_at": null,
"github_reviewed_at": "2026-10-06T16:09:46Z"
}
},
"related_cves": [
{
"value": "CVE-2026-105848",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 89310,
"published_at": "2026-10-06T16:09:46+00:00"
}