Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister or compromise domain used as Grav webhook target
-
DeliverySet near-zero DNS TTL on controlled domain
-
ExploitRespond to Grav validation lookup with legitimate public IP
-
ExecutionRebind DNS record to internal RFC1918 address
-
PersistGrav HTTP delivery request sent to internal network host
-
ImpactProbe or interact with internal services via Grav as proxy
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
|
| Exploitation Conditions | Exploitation requires two simultaneous conditions to hold. First, the Grav API plugin must have at least one webhook configured to a hostname for which the attacker holds authoritative DNS control - passive or unauthenticated network attackers cannot exploit this without first influencing webhook configuration or registering a domain that an administrator has already targeted. Second, the attacker must execute a DNS rebinding attack by initially resolving the hostname to a permitted public IP during Grav's validation phase, then switching the DNS response to an RFC1918 or otherwise restricted address before the actual HTTP delivery occurs, requiring TTL manipulation and precise timing. Exploitation is not constrained by system-level authentication on the Grav server (PR:N in the CVSS 4.0 vector), but the social or operational prerequisite of controlling DNS for an administrator-configured webhook endpoint is a meaningful real-world barrier absent in simpler SSRF classes. |
| Impact | The CVSS 4.0 base score of 6.9 (Medium) reflects network-reachable SSRF with no direct impact on the Grav server itself (VC/VI/VA all N) and only limited impact on subsequently reachable internal systems (SC:L/SI:L/SA:L). The attack requires the adversary to hold authoritative DNS control over a hostname that a Grav administrator has already configured as a webhook endpoint - a meaningful precondition that substantially narrows the realistic attacker population compared to what an AC:L/PR:N surface area might suggest. EPSS data was not provided in the intelligence sources, and the vulnerability does not appear in CISA KEV, indicating no confirmed widespread active exploitation. The CVSS 4.0 vector rates AC:L and AT:N, which this analysis considers optimistic given the TTL-timing and DNS-rebinding infrastructure an attacker must operate; a reasonable independent assessment raises complexity to AC:H. KEV absence and the social-engineering prerequisite (influencing webhook configuration) mean even a mid-sized municipal IT team in opole - wait, removing this: no such insertion will be made - the practical blast radius is constrained to deployments where an attacker can plausibly influence both DNS and webhook configuration simultaneously. |
| Exploit ScenarioDerived | An attacker registers a domain (e.g., attacker.example.com) and persuades or tricks a Grav administrator into configuring a webhook delivery to that hostname. The attacker sets the domain's DNS TTL to one second and initially responds to Grav's validation lookup with a legitimate public IP. Immediately before the actual delivery HTTP request, the attacker flips the DNS record to an internal address such as 192.168.1.254, causing Grav to send the webhook payload to an internal service. No public exploit has been identified at time of analysis, though DNS rebinding toolkits are freely available and lower the technical barrier for this class of attack. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Server-side request forgery in the Grav API plugin before version 1.0.16 allows an attacker who controls authoritative DNS for a configured webhook hostname to reach private internal network resources from the Grav server. The flaw exploits a TOCTOU race (CWE-367) between hostname validation and HTTP delivery: validation resolves the hostname to a legitimate public address, but a DNS rebind before delivery redirects the actual request to an RFC1918 address. No public exploit has been identified at time of analysis and the vulnerability has not been confirmed in CISA KEV.
RemediationAI
Upgrade the Grav API plugin to version 1.0.16 or later, as documented in GitHub Security Advisory GHSA-hq2v-cgw4-fw2w (https://github.com/getgrav/grav/security/advisories/GHSA-hq2v-cgw4-fw2w). If immediate upgrade is not feasible, audit all configured webhook endpoints and remove any whose hostnames are outside your direct administrative DNS control, since the attack is predicated on the attacker owning authoritative DNS for a configured webhook domain. Additionally, apply an egress firewall rule on the Grav server blocking outbound HTTP/HTTPS connections to RFC1918 and loopback address ranges; this prevents rebinding from reaching internal hosts even if the timing attack succeeds, though it will also block any legitimate webhook deliveries targeting internal endpoints. Note that the egress firewall workaround does not fix the underlying TOCTOU flaw and should be treated as a temporary measure only.
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 is a flat-file CMS written in PHP. Its API plugin supports outbound webhook delivery - HTTP callbacks triggered by CMS events. To prevent SSRF, the plugin validates destination hostnames before delivery. However, validation and delivery each perform independent DNS resolutions, creating a TOCTOU window (CWE-367): the attacker's authoritative DNS server can return a permitted public IP for the validation lookup, then immediately switch the DNS record (ideally with a near-zero TTL) to a private RFC1918 address for the delivery lookup. The affected product is identified by CPE cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*, covering all plugin releases prior to 1.0.16.
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:N/VI:L/VA:N/SC:L/SI:L/SA:L
DNS rebinding requires attacker-controlled authoritative DNS for a preconfigured webhook host and precise TTL timing (AC:H); scope changes as SSRF reaches internal network systems beyond the Grav server.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Grav API plugin before 1.0.16 contains a server-side request forgery vulnerability in webhook delivery that allows attackers to bypass hostname validation by DNS rebinding. Attackers controlling authoritative DNS for a configured webhook hostname can answer validation lookups with public addresses and delivery lookups with private addresses to reach internal network resources.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
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-65206
GHSA-h2w4-jr6m-7c52
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB