Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Grav site behind same-host proxy
-
DeliveryRequest /__clockwork/ without token
-
ExploitLoopback REMOTE_ADDR fallback authorizes read
-
ExecutionRetrieve stored profiler records
-
ImpactHarvest admin plaintext passwords and config credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires ALL of: Grav version 1.7.53.3 through 1.7.53.5; the debugger enabled (system.debugger.enabled: true) with the Clockwork provider (the default provider once the debugger is on); AND Grav deployed behind an HTTP reverse proxy on the same server (e.g. nginx or Caddy fronting Apache, Varnish, or a local tunnel agent) so that REMOTE_ADDR presents as loopback (127.0.0.1 or ::1). The specific flaw is the loopback REMOTE_ADDR fallback in Debugger::isDebuggerRequestAuthorized(), which accepts tokenless requests from a loopback peer. Limiting factors that reduce real-world exposure: sites reached directly by the web server with no same-host proxy are NOT exploitable (such requests arrive from the real client IP and receive 403); sites with the debugger disabled are not exposed; and if debugger.censored is enabled, submitted passwords are redacted from stored records (though configuration credentials and other form fields may remain). Configuring system.debugger.token does NOT mitigate on affected versions, because a tokenless request still reaches the vulnerable loopback fallback. |
| Impact | This is a credible, prioritize-this-week issue rather than an inflated high-CVSS score, but its real-world risk is strongly gated by deployment topology. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VC:H) correctly captures a network-reachable, low-complexity, unauthenticated read with high confidentiality impact - the GHSA confirms an unauthenticated visitor retrieved an administrator's plaintext login credentials and full system/plugin configuration. However, exploitation is NOT universal: it only applies when the Grav 1.7.53.3-1.7.53.5 debugger is enabled with the Clockwork provider AND Grav sits behind a same-host reverse proxy, so the vector's AV:N/PR:N reflect the worst-case but conditioned deployment. The vuln.today Decision label is 'this_week', consistent with a confirmed-impact information disclosure that is not under known active exploitation. No EPSS score was provided, so exploitation probability cannot be quantified. The vulnerability is NOT in CISA KEV and no KEV signal is present, so there is no confirmed active exploitation. No SSVC decision fields (exploitation/automatable/technical impact) were supplied beyond the vuln.today priority label. Net: a genuine, high-impact credential-disclosure bug worth remediating promptly, but whose exposure depends on a specific (though common) reverse-proxy deployment pattern plus the debugger being left on. |
| Exploit ScenarioDerived | An administrator logs into a Grav 1.7.53.3-1.7.53.5 site that runs behind an nginx/Caddy/Varnish reverse proxy on the same host with the Clockwork debugger enabled; their login request (including the submitted plaintext password) is stored as a profiler record. An unauthenticated remote attacker then requests /__clockwork/ with no token, and because REMOTE_ADDR is the loopback address of the local proxy, the authorization fallback serves the stored records - exposing the admin credentials and configuration secrets. No public exploit code is referenced, but the reporter verified this reproduction against a stock 1.7.53.5 install. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Unauthenticated visitors to Grav 1.7.53.3 through 1.7.53.5 can read stored Clockwork profiler records when the debugger is enabled with the Clockwork provider and Grav sits behind a same-host reverse proxy; those records can include submitted administrator login passwords unless debugger.censored is enabled, plus configuration credentials from system and plugin settings. The flaw is an authorization bypass in Debugger::isDebuggerRequestAuthorized() that trusts a loopback REMOTE_ADDR fallback, so a tokenless request arriving from the local proxy is accepted; direct-server deployments and sites with the debugger disabled are not exposed. It carries CVSS 4.0 8.7 and a this_week priority, making it a credible high-impact information-disclosure case whose real-world risk is strongly gated by deployment topology; no public exploit was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Grav to 1.7.53.6 (Composer package composer/getgrav/grav 1.7.53.6), which requires system.debugger.token for every read of profiler data, including loopback requests, and denies all profiler-data reads when no token is configured; the fix is in commit 4d9fca043f990a818d65cea61c928203b9e19641 and release https://github.com/getgrav/grav/releases/tag/1.7.53.6, with the advisory at https://github.com/getgrav/grav/security/advisories/GHSA-xprx-c7jf-cp6g. If upgrading immediately is not possible, the vendor advises turning the debugger off on any site reachable from the internet, which removes the profiler endpoint and its data exposure at the cost of losing debugger functionality. Configuring system.debugger.token does not mitigate affected versions, because a request without the token still reaches the vulnerable loopback fallback; enabling debugger.censored can redact submitted passwords but does not protect configuration credentials or other form fields and is not a complete fix. Operators should also verify whether their deployment uses a same-host nginx, Caddy, Apache, Varnish or local tunnel front end, since direct-server deployments are not exposed.
Affected VersionsENISA
Affected Packages
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's debugger integrates the Clockwork profiler, which stores request profiles and serves them from /__clockwork/ during bootstrap before Grav sessions and accounts exist, so the endpoint cannot authorize against a Grav user. In 1.7.53.3 the check introduced a system.debugger.token gate, but any request that did not present a valid X-Clockwork-Auth token fell back to accepting the caller when REMOTE_ADDR was 127.0.0.1 or ::1; REMOTE_ADDR is the TCP peer address, so a same-host nginx, Caddy, Apache, Varnish or local tunnel front end makes every remote client appear loopback. This is CWE-200 information exposure combined with CWE-290 authentication bypass by spoofing/trusting a spoofable network attribute. The stored records can include submitted form fields with plaintext administrator passwords unless debugger.censored is on, plus full system and plugin configuration containing mail, API and other service credentials; session cookies and Authorization/X-API-Token headers are removed from records. The fix in 1.7.53.6 requires the configured token for every profiler-data read, including loopback, and fails closed when no token is configured; it is the 1.7 backport of the 2.x fix in 2.1.7 (GHSA-v8fx-pc9p-934x), while 1.7.53.2 and earlier had a separate no-check issue under GHSA-q3ff-cj6v-rr5g. The CPE cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:* identifies GetGrav Grav, with the affected range set by EUVD and package metadata as >=1.7.53.3, <1.7.53.6.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable tokenless read via loopback fallback (AV:N/AC:L/PR:N/UI:N); only confidentiality is affected (C:H for admin passwords and credentials), no integrity or availability impact, same security authority (S:U).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Grav from 1.7.53.3 before 1.7.53.6 contains an authorization bypass in Debugger::isDebuggerRequestAuthorized() that allows unauthenticated visitors to read /__clockwork/ profiler data via a loopback REMOTE_ADDR fallback. Behind a same-host reverse proxy, remote requests appear as loopback, letting attackers read stored records including administrator plaintext passwords and configuration credentials.
Technical POC Analysis
CWE-200 (Exposure of Sensitive Information), with the mechanism the advisory also tags as CWE-290 (Authentication Bypass by Spoofing).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-117604 is a high-severity information-disclosure flaw in Grav CMS versions 1.7.53.3 through 1.7.53.5 that can expose administrator login passwords and system credentials when the Clockwork debugger is enabled and the site runs behind a same-host reverse proxy. This configuration, while not universal, is common in production environments and could lead to unauthorized access to sensitive systems and data if exploited. Leadership should prioritize remediation because the vulnerability directly threatens the confidentiality of administrative credentials, potentially enabling broader compromise of the affected site or interconnected systems.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol
Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their
A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug
Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a
GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv
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
Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri
Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm
Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past
Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make
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
Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary
EUVD-2026-110928
GHSA-xgqw-2hp2-cf72
NVD
CVE.org
EPSS
VulDB
Exploit-DB