CVE-2026-32101 json
StudioCMS S3 Storage Manager Authorization Bypass via Missing `await` on Async Auth Check
published 2026-03-11 7 mo ago modified 2026-06-17 4 mo ago also GHSA-mm78-fgq8-6pgr , EUVD-2026-11367
- cvss
- 7.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 11%
- public exploits
- 0
- none known
Summary
StudioCMS is a server-side-rendered, Astro native, headless content management system. Prior to 0.3.1, the S3 storage manager's isAuthorized() function is declared async (returns Promise<boolean>) but is called without await in both the POST and PUT handlers. Since a Promise object is always truthy in JavaScript, !isAuthorized(type) always evaluates to false, completely bypassing the authorization check. Any authenticated user with the lowest visitor role can upload, delete, rename, and list all files in the S3 bucket. This vulnerability is fixed in 0.3.1.
Patch / fix
- npm @studiocms/s3-storage 0.3.1
- studiocms studiocms 0.3.1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.21% chance of exploitation in the next 30 days, higher than 11% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/withstudiocms/studiocms/security/advisories/GHSA-mm78-fgq8-6pgr referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.6 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L |
| NVD | 3.1 | 6.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L |
| GitHub | 3.1 | 7.6 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @studiocms/s3-storage | <0.3.1 |
0.3.1 |
Affected products
- @studiocms s3-storage
Classification
- Weakness
-
- CWE-863 Incorrect Authorization
References
-
github.com
/withstudiocms/studiocms/security/advisories/GHSA-mm78-fgq8-6pgr
web, exploit, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-32101
advisory
-
github.com
/withstudiocms/studiocms
package
Sources
- CVE List CVE-2026-32101
- GitHub Advisory GHSA-mm78-fgq8-6pgr
- NVD CVE-2026-32101
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.