Skip to main content

Flex Objects Plugin CVE-2026-62670

| EUVDEUVD-2026-62537 MEDIUM
Missing Authorization (CWE-862)
2026-08-19 GitHub_M
6.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with api.access account
  2. Delivery
    Identify Flex Objects directory with permission-less blueprint
  3. Exploit
    Send crafted API request to target handler (create/update/delete/export)
  4. Execution
    requireFlexPermission() returns without denial
  5. Impact
    Perform unauthorized CRUD or file exfiltration operation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two concurrent conditions, both confirmed by the CVE description and CVSS vector PR:L. First, the attacker must hold an authenticated Grav account with at minimum the api.access permission - fully unauthenticated exploitation is not possible. Second, the targeted Flex Objects directory must use a blueprint that omits the config.admin.permissions configuration block; directories with explicitly defined blueprint permissions follow the normal permission-checking branch and are not affected by this bypass regardless of the attacker's privilege level. What limits exploitation further: Grav installations that enforce strict admin account provisioning policies have a materially smaller exposure surface, since api.access must be deliberately granted. Conversely, organizations that allow semi-trusted users to hold api.access, or that use Flex Objects for custom directory types developed without permissions blocks in their blueprints, face the highest real-world risk from this flaw.

Impact

The CVSS 3.1 score of 6.3 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L accurately reflects the attack surface: network-reachable and low complexity, but gated behind a valid authenticated session with at minimum the api.access permission. The C:L/I:L/A:L impact trio is appropriate given that only Flex Objects directories with missing blueprint permissions are exposed - not the entire CMS dataset. EPSS data was not included in the available intelligence, so exploitation probability cannot be quantified numerically; however, the absence of a CISA KEV listing and no identified public proof-of-concept beyond the fix commit suggests this has not seen broad opportunistic exploitation. Despite the moderate CVSS, the low bar to exploitation once an api.access account exists - and the breadth of API actions exposed (create, update, delete, export) - makes this meaningful for any Grav deployment using the plugin, and even a mid-sized municipal IT team in walbrzych managing Grav-based public content sites should treat upgrading to 1.4.3 as an urgent maintenance item rather than a routine patch cycle task. No conflicting signals are present: CVSS, description, and code diff are all consistent in characterizing this as a network-accessible, low-privilege, low-complexity authorization bypass.

Exploit ScenarioDerived

An attacker who holds a Grav account with the api.access permission - for example, a low-privilege content editor or an account obtained through credential theft - sends authenticated HTTP API requests targeting a Flex Objects directory type whose blueprint omits config.admin.permissions. Because requireFlexPermission() returns without a denial under this condition, the attacker can enumerate all objects (index), read sensitive records (show), create, modify, or delete data (create/update/delete), and extract files via the media and export handlers - all without possessing any of the specific flex-object permissions that the admin UI would normally enforce. No exploitation tooling beyond standard HTTP requests is required once a qualifying account is available.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 19, 2026

Authorization bypass in the Grav Flex Objects Plugin prior to version 1.4.3 permits an authenticated user holding only the api.access permission to invoke all admin API handlers - index, show, create, update, delete, export, and media - against any Flex Objects directory whose blueprint omits the config.admin.permissions field. The root cause is a logic inversion in requireFlexPermission() inside FlexApiController.php: when no blueprint permissions are defined, the original code iterated over an empty set and silently returned without throwing a ForbiddenException, bypassing the core admin.flex-object authorization fallback that would otherwise deny the same actions. No public exploit code or CISA KEV listing is identified at time of analysis; a vendor-released patch is available as version 1.4.3.

RemediationAI

Upgrade the Flex Objects Plugin to version 1.4.3 or later immediately; the release is confirmed available at https://github.com/trilbymedia/grav-plugin-flex-objects/releases/tag/1.4.3, with the authoritative fix in commit 198d1a0eb7b94777a026ed0001d9a369d94c3002. If an immediate upgrade is not possible, a targeted interim workaround is to audit every Flex Objects directory blueprint in the installation and ensure each includes an explicit config.admin.permissions map - this forces the pre-fix code to enter the non-empty permissions branch and apply standard authorization checks. This workaround carries a maintenance burden: any blueprint added in the future without a permissions block will silently re-expose the bypass, making it operationally fragile. As an additional compensating control, restrict the api.access permission to only fully trusted administrative accounts; this reduces the pool of potential attackers but does not eliminate the underlying vulnerability for those accounts that retain api.access.

Affected VersionsENISA

grav-plugin-flex-objects < 1.4.3

Affected Packages

euvd grav_plugin_flex_objects fix: 1.4.3

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

The Grav Flex Objects Plugin (CPE: cpe:2.3:a:getgrav:grav-plugin-flex-objects) extends Grav CMS with a PHP-based admin API framework. Each managed directory type is defined by a blueprint YAML file that may include a config.admin.permissions map, controlling which permission prefixes authorize which API actions. The FlexApiController.php::requireFlexPermission() method serves as the authorization gate for all API handlers. In the vulnerable code, the permissions check was wrapped inside if ($permissions) {}, so when a directory blueprint omitted the permissions block - causing $permissions to evaluate as falsy - the method body was skipped entirely and the function returned void, silently granting access. CWE-862 (Missing Authorization) precisely captures this pattern: the authorization decision point is simply absent for a specific input condition rather than implemented incorrectly. The fix in commit 198d1a0eb7b94777a026ed0001d9a369d94c3002 inverts the guard to if (!$permissions) and explicitly calls $directory->isAuthorized($action, 'admin', $user), deferring to the same core authorization path already used by the directory listing endpoint, ensuring no code path permits access without an affirmative authorization check.

Know when PHP 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 (GitHub_M) PRIMARY 6.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
vuln.today AI 6.3 MEDIUM

Network-reachable API requires authenticated low-privilege account; limited impact scoped to misconfigured blueprint directories only.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

Lifecycle Timeline

1
Patch available
Aug 19, 2026 - 16:17 EUVD

DescriptionCVE.org

Grav Flex Objects Plugin allows you to build custom collections of objects. Prior to 1.4.3, the Grav Flex Objects Admin Next API requireFlexPermission() method in classes/Api/FlexApiController.php returns without denying access when a directory blueprint omits config.admin.permissions. An authenticated account with only api.access can use the index, show, create, update, delete, export, and media handlers for a permission-less directory even though the core admin.flex-object. authorization fallback would deny the same actions. This issue is fixed in version 1.4.3.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche flat-file CMS with limited enterprise adoption
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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 PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

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