Skip to main content

Grav Flex Objects CVE-2026-114659

| EUVDEUVD-2026-107901 HIGH
Improper Protection of Alternate Path (CWE-424)
2026-10-22 VulnCheck GHSA-7hqv-ch9q-jw4v
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged admin user
  2. Delivery
    Call /api/v1/flex-objects/pages API route
  3. Exploit
    Bypass page-level permission check
  4. Execution
    Read, modify, or delete restricted page
  5. Impact
    Unauthorized content disclosure or tampering

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Alternate path protection
Exploitation Conditions

Exploitation requires an authenticated, non-super Grav user account that has been granted the api.access permission together with either admin.pages or admin.configuration.pages, and the installation must run Flex Objects plugin versions 1.4.0 through 1.4.16. The bypass is triggered specifically through the generic /api/v1/flex-objects/pages API routes, which enforce only directory-level admin.pages checks and skip the api.pages.read/write and page-level permission rules. The key limiting factor is that the attacker must already possess a valid restricted admin/editor account - there is no anonymous or unauthenticated path - so the flaw primarily enables privilege escalation past intended per-page restrictions rather than external compromise. Super-user accounts and sites not exposing the Flex Objects Pages API are unaffected.

Impact

This is a moderate-priority authorization-bypass flaw, not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network-reachable, low-complexity exploitation but requires an already-authenticated low-privileged account (PR:L) that holds api.access plus admin.pages or admin.configuration.pages - so the attacker must already be a provisioned, non-super back-end user, which sharply narrows the realistic threat to insiders or compromised editor accounts rather than anonymous internet attackers. There is no EPSS score, no CISA KEV listing, and no public POC referenced in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. A notable conflict exists in the impact metrics: the supplied CVSS 4.0 vector rates only VC:H (confidentiality) with VI:N/VA:N, yet the description explicitly states attackers can 'modify content or delete pages,' which is an integrity (and arguably availability) impact - the vendor's own vector appears to understate integrity impact; verify with the GHSA advisory. Overall this is a legitimate privilege-boundary bug worth patching on a normal cycle, but the authentication prerequisite keeps real-world risk below what the 7.1 score alone might suggest.

Exploit ScenarioDerived

A content editor or other non-super user who has been granted api.access and admin.pages (but intentionally restricted from certain pages) sends requests to the generic /api/v1/flex-objects/pages endpoint. Because those routes only check directory-level admin.pages permissions and ignore the Pages API's api.pages.read/write and page-level rules, the user reads frontmatter/source, edits, or deletes pages they were explicitly denied. No public exploit code is referenced, but the attack requires only ordinary authenticated API calls with low complexity.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 22, 2026

Authorization bypass in the Grav Flex Objects plugin 1.4.0 through 1.4.16 lets authenticated, non-super users holding api.access plus either admin.pages or admin.configuration.pages read page source and frontmatter, modify content, and delete pages they are explicitly denied, because the generic /api/v1/flex-objects/pages routes enforce only directory-level admin.pages checks instead of the Pages API's api.pages.read/write and page-level permission rules. Scored 7.1 with an independent assessment of high confidentiality and high integrity impact (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N), the flaw is a privilege-escalation problem past intended per-page restrictions rather than an anonymous compromise path - the attacker must already hold a valid restricted admin or editor account, and super-user accounts are unaffected. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV, so this is a moderate-priority remediation item rather than a drop-everything emergency.

RemediationAI

Vendor-released patch: upgrade the Flex Objects plugin to 1.4.17 or later per the Grav security advisory at https://github.com/getgrav/grav/security/advisories/GHSA-2pvc-r9gj-mcpf, and verify the installed plugin version through the Grav admin plugin list or composer before assuming the fix is in place. Where upgrading must be staged, compensating controls are: revoke api.access from any non-super account that does not strictly require API access (side effect: those accounts lose all programmatic/API functionality, including legitimate editor tooling); strip admin.pages and admin.configuration.pages from low-trust roles and confine page editing to accounts that already have full trust (side effect: editors lose the ability to create or reorganize pages through the admin UI); and block or restrict /api/v1/flex-objects/pages at the reverse proxy for non-privileged source ranges or sessions (side effect: legitimate Flex Objects admin and automation workflows that rely on that endpoint will break, so scope the rule rather than removing the route entirely). Super-user accounts are unaffected by the bypass, so review any recent page content, frontmatter, and deletions authored by non-super accounts and enable request logging on the Flex Objects API routes to detect attempts. Relying on page-level ACLs alone is not a valid mitigation, since the flaw is precisely that the Flex Objects route does not evaluate them.

Affected VersionsENISA

grav-plugin-flex-objects 1.4.0 <1.4.17

Affected Packages

euvd grav_plugin_flex_objects fix: 1.4.17

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Grav is a flat-file PHP CMS whose admin authorization model layers account groups, the admin.* permission family (admin.pages, admin.configuration.pages, admin.super), and an api.access gate with finer-grained api.pages.read/write scopes; page-level ACLs are normally inherited down the page hierarchy. The Flex Objects plugin exposes generic CRUD-style routes under /api/v1/flex-objects/<type>, and for directory type 'pages' those routes resolved permissions against the directory-level admin.pages setting only. That makes the generic route an alternate path (CWE-424, Improper Protection of Alternate Path) that reaches the same page objects as the dedicated Pages API while skipping the api.pages.read/write scopes and per-page rules - so a restricted editor who is denied a specific page via page-level ACLs can still reach it via the Flex Objects route. CPE data (cpe:2.3:a:getgrav:grav-plugin-flex-objects:*:*:*:*:*:*:*:*) confirms the affected component is the plugin itself rather than the Grav core, with the vulnerable range spanning 1.4.0 to 1.4.16 and 1.4.17 as the first fixed release.

Know when Grav gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Authenticated low-priv API user (PR:L), network/low-complexity; description states read, modify, and delete of denied pages, so both C:H and I:H, unlike the input's VI:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 22, 2026 - 03:01 EUVD
CVE Published
Oct 22, 2026 - 01:43 cve.org
HIGH 7.1

DescriptionCVE.org

Grav Flex Objects plugin 1.4.0 before 1.4.17 contains an authorization bypass because its generic /api/v1/flex-objects/pages API routes check only directory-level admin.pages permissions, without enforcing the Pages API's api.pages.read/write permissions or page-level permissions rules. Authenticated non-super users with api.access and admin.pages or admin.configuration.pages permissions can read page source and frontmatter, modify content, or delete pages they are denied.

Technical POC Analysis

CWE-424 (Improper Protection of Alternate Path), with the advisory also tagging CWE-863 (Incorrect Authorization).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

The Grav Flex Objects plugin (versions 1.4.0 through 1.4.16) contains an authorization bypass that lets restricted admin and editor accounts exceed their intended per-page permissions - reading page source and frontmatter, altering content, and deleting pages they are explicitly denied. Only delegated non-super users holding both api.access and admin.pages or admin.configuration.pages can exploit it; anonymous visitors and super-user accounts are unaffected. Leadership should care because it undermines the delegated-editor permission model that governs CMS content integrity and confidentiality across any site running the affected plugin.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: strip api.access and admin.pages/admin.configuration.pages from non-super accounts that do not require them, restrict or block access to /api/v1/flex-objects/pages routes at the web server, proxy, or WAF layer, temporarily disable the plugin's API routes where operationally feasible, and closely monitor page revision history and API logs for unauthorized content reads, modifications, or deletions.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Low
Plugin for Grav, a niche flat-file CMS with modest footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Grav

View all
CVE-2025-66294 HIGH POC
8.7 Dec 01

Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol

CVE-2025-66301 HIGH POC
8.6 Dec 01

Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their

CVE-2025-50286 HIGH POC
8.1 Aug 06

A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug

CVE-2024-34082 CRITICAL POC
9.9 May 15

Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a

CVE-2021-47812 CRITICAL POC
9.8 Jan 16

GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv

CVE-2026-65008 CRITICAL POC
9.3 Jul 21

Remote code execution in Grav CMS 2.0.4 (fixed in 2.0.7) lets an authenticated user holding the admin.pages or api.pages

CVE-2026-75827 CRITICAL POC
9.3 Aug 18

Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri

CVE-2026-75837 CRITICAL POC
9.3 Aug 18

Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm

CVE-2026-75828 CRITICAL POC
9.3 Aug 18

Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past

CVE-2025-66844 CRITICAL POC
9.1 Dec 15

Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make

CVE-2025-66299 HIGH POC
8.8 Dec 01

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, Grav CMS is vulnerable to a Server-Side Template Injection (S

CVE-2026-72819 HIGH POC
8.7 Aug 14

Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy