Instatic before 0.0.21 Authorization Bypass via Row Author Reassignment Endpoint
Affects Instatic versions before 0.0.21 for roles that hold content.edit.any but lack data.system.tables.read. The fix is in Instatic 0.0.21.
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- No known exploitation
- Fix
- Fixed in 0.0.21
- Who is exposed
- Specific setups only
Do first: Check whether your setup matches what the bug needs. Instatic version before 0.0.21 Attacker's role has content.edit.any but lacks data.system.tables.read
- Last modified
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 15/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Specific setups only
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Instatic before 0.0.21 contains an authorization bypass vulnerability in handleRowAuthor that allows authenticated users to skip table-level access checks by loading rows with getDataRow() instead of loadRowForAccess(). Attackers holding content.edit.any but lacking data.system.tables.read can send PATCH requests to /admin/api/cms/data/rows/:id/author to read system-table rows and reassign their authors.
cve.now Index
- Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
- Exposure8/25Specific setups only, reachable over the network
- Reach?/20Unknown. No tracked technology or package matched
- Severity7.1/10CVSS 7.1
- No patch0/5No signal
What would change the score
- Would score about 65 if added to CISA KEV
- Would score about 60 if CISA's SSVC rates exploitation active
- Would score about 22 if CISA's SSVC rates it automatable
What to do
Check whether your setup matches what the bug needs.
Instatic version before 0.0.21 Attacker's role has content.edit.any but lacks data.system.tables.readUpgrade to a fixed version: 0.0.21.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- CoreBunch Instatic
fixed in 0.0.21
Evidence 5
- Advisory
- Patch
- Repository
- Repository
- Link
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-125398
Is CVE-2026-125398 being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data
What does this mean?
A role with content.edit.any but without data.system.tables.read can read the full contents of system-table rows it cannot normally access, including unpublished drafts and author identity. It can also change the author of those rows.Source: vulncheck.com, github.com
Which versions are affected by CVE-2026-125398?
Instatic: before 0.0.21.Source: cve.now feed data
Am I affected, and how do I check?
Instatic versions before 0.0.21 are affected, in setups where some roles hold content.edit.any but not data.system.tables.read. To check, compare the installed Instatic version with 0.0.21 and review the permissions assigned to each role.Source: vulncheck.com, github.com
How do I fix CVE-2026-125398?
Upgrade Instatic to 0.0.21 or later, which the vendor's v0.0.21 release notes list as the fix.Source: vulncheck.com, github.com