CVE-2026-125398 · Package
NO FIX YET · SEE WHAT TO DO
Instatic before 0.0.21 has an authorization check in handleRowAuthor that is skipped when rows are loaded through getDataRow(). An authenticated user with content.edit.any but without data.system.tables.read can read system-table rows and reassign their authors through the PATCH /admin/api/cms/data/rows/:id/author endpoint.
first public Nov 3, 2026 · 1 source
Could this affect your app?
Free first check from your website. Connect your repo for the full answer.
Teams running Instatic before 0.0.21 that have authenticated users with content.edit.any permission who lack data.system.tables.read. Exposure depends on those authenticated roles existing; unauthenticated visitors cannot use this path.
Not affected if no-authenticated-editors, version-0.0.21-or-later
Who cares cms, instatic, self-hosted
instatic --version or the version in package.json, and see whether it is below 0.0.21.content.edit.any that lack data.system.tables.read.0.0.21 or later.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.
Check it with your coding agent
It reads this page and tells you if your code is affected.
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
This page as .md · .json · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.