CVE-2026-62668: Grav API Plugin: Webhook SSRF via Unrestricted cURL Protocols
Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.6, the Grav API plugin WebhookController.php accepts webhook URLs after only FILTER_VALIDATE_URL syntax validation, and WebhookDispatcher.php initializes cURL without CURLOPT_PROTOCOLS or CURLOPT_REDIR_PROTOCOLS restrictions. An account with api.webhooks.write can submit file, dict, gopher, private-network, or link-local targets, retrieve local files and delivery response bodies, and pivot requests to internal services or cloud metadata endpoints. This issue is fixed in version 1.0.6.
Security readout for executives and security teams
Plain-English summary
A user permitted to create webhooks can make a vulnerable Grav API Plugin access local files, internal systems, or cloud metadata. Returned response bodies may expose sensitive information, while internal requests could affect connected services. The flaw is remotely reachable but requires an account with the api.webhooks.write permission.
Executive priority
Treat as an urgent remediation for deployments using the API Plugin, especially cloud-hosted or externally reachable systems. Patch promptly, narrow webhook-writing privileges, and investigate suspicious webhook activity. Immediate emergency response is most justified where untrusted users or integrations already possess api.webhooks.write.
Technical view
Before Grav API Plugin 1.0.6, webhook URLs receive only syntax validation. cURL lacks protocol and redirect restrictions, enabling SSRF through non-HTTP schemes, private or link-local addresses, and redirected destinations. The supplied affected data lists grav-plugin-api below 1.0.6 and Grav below 2.0.4; the bundle explicitly identifies plugin 1.0.6 as the fix.
Likely exposure
Exposure requires the Grav API Plugin and a principal holding api.webhooks.write. Internet-accessible APIs, broadly assigned webhook permissions, cloud-hosted deployments, and access to sensitive internal services increase risk. The supplied affected ranges are grav-plugin-api below 1.0.6 and Grav below 2.0.4.
Exploitation context
No active exploitation is established by the supplied sources, and the CVE is not listed as KEV in the bundle. Exploitation requires low privileges rather than anonymous access. The reported impact includes local-file retrieval, internal-service access, cloud-metadata requests, and disclosure of delivery response bodies.
Researcher notes
CWE-918 applies. The trust-boundary failure combines permissive URL acceptance with unrestricted cURL protocols and redirects. Authorization limits initial access, but SSRF crosses host and network boundaries. Evidence supports broad confidentiality, integrity, and availability impact; however, the bundle provides no confirmed exploitation evidence or environment-specific proof of compromise.
Mitigation direction
Upgrade Grav API Plugin to version 1.0.6 or later.
Review the vendor advisory for any required Grav core upgrade.
Temporarily revoke api.webhooks.write from accounts that do not require it.
Restrict application egress to local, private, link-local, and metadata destinations where operationally feasible.
Rotate credentials if investigation indicates local files or metadata may have been accessed.
Validation and detection
Inventory Grav, Grav API Plugin, and deployed plugin versions.
Identify every account and token granted api.webhooks.write.
Review webhook records and logs for unusual schemes, redirects, private addresses, or link-local destinations.
Confirm upgraded deployments report Grav API Plugin 1.0.6 or later.
Check internal-service, cloud-metadata, and outbound-network logs for requests originating from Grav.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-918: Information exposure and cloud metadata lookup
Information exposure and SSRF weaknesses can make discovery, cloud metadata, and credential material review relevant. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references SSRF or metadata access, so cloud discovery and credential material review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
4Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-918 · source CWE mapping
Server-Side Request Forgery
Server-Side Request Forgery represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.