CVE-2026-59965 json
@jhb.software/payload-alt-text-plugin: Alt Text Endpoint Authorization Bypass via Payload Local API `overrideAccess` Omission
published 2026-09-10 59 d ago modified 2026-09-30 39 d ago also GHSA-4qpv-39hg-f7fx , EUVD-2026-78819
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 31%
- public exploits
- 0
- none known
Summary
Payload Plugins is a collection of plugins designed to enhance Payload CMS. In 0.7.0, @jhb.software/payload-alt-text-plugin exposes POST /api/alt-text-plugin/generate and POST /api/alt-text-plugin/bulk with a default guard that accepts any authenticated user, while alt-text/src/endpoints/generateAltText.ts and alt-text/src/endpoints/bulkGenerateAltTexts.ts call req.payload.findByID and req.payload.update without overrideAccess: false. Payload therefore defaults overrideAccess to true and skips the target collection's read and update access functions. An authenticated low-privilege user can supply id, collection, locale, and update values to read arbitrary protected upload documents and overwrite their alt and keywords fields, even when the collection permits those operations only to administrators. A control Local API call with overrideAccess: false is denied, confirming that the plugin endpoint bypasses otherwise effective collection rules. This vulnerability is fixed in 0.8.0.
Patch / fix
- npm @jhb.software/payload-alt-text-plugin 0.8.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 52 d ago
Exploit prediction
0.38% chance of exploitation in the next 30 days, higher than 31% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/jhb-software/payload-plugins/security/advisories/GHSA-4qpv-39hg-f7fx referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N |
| GitHub | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @jhb.software/payload-alt-text-plugin | <0.8.0 |
0.8.0 |
Affected products
- jhb-software payload-plugins
- @jhb.software payload-alt-text-plugin
Classification
- Weakness
-
- CWE-863 Incorrect Authorization
References
-
github.com
/jhb-software/payload-plugins/pull/159
web
-
github.com
/jhb-software/payload-plugins/commit/e39634868ce13a414e2981e219befc58101654d3
web
-
github.com
/jhb-software/payload-plugins/security/advisories/GHSA-4qpv-39hg-f7fx
exploit, web
-
github.com
/jhb-software/payload-plugins/releases/tag/alt-text@0.8.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-59965
advisory
-
github.com
/jhb-software/payload-plugins
package
Sources
- CVE List CVE-2026-59965
- GitHub Advisory GHSA-4qpv-39hg-f7fx
- NVD CVE-2026-59965
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.