Sceawere
Vulnerability Detail
CVE-2026-105636UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Plane SSRF via Webhook Redirects
Vulnerability Metadata
- Severity
- Critical
- Score / CVSS
- 9.9
- Creation Date
- 3h ago
- Vendor
- makeplane
- Product
- plane
- Attack Type
- CWE-918: Server-Side Request Forgery (SSRF)
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Attack Complexity
- LOW
Narrative and Response
Description
Plane is an open-source project management tool. Prior to 1.4.0, the webhook delivery task in apps/api/plane/bgtasks/webhook_task.py calls requests.post() without allow_redirects=False and does not validate redirect targets. validate_url() blocks private, loopback, link-local, and reserved addresses in the original webhook URL, but the final URL reached after one or more redirects is not checked. A user who can create a workspace can register a webhook pointing to an attacker-controlled public endpoint that returns a 302 redirect to an internal address. The Plane worker then fetches internal resources, including cloud metadata, and stores the response body in webhook_logs, where the attacker can retrieve it through the workspace webhook-logs API. This issue is fixed in 1.4.0.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "9.9",
"pubDate": "2026-10-05T19:17:17.693Z",
"pubdate": "2026-10-05T19:17:17.693Z",
"executiveSummary": "Plane prior to version 1.4.0 is susceptible to Server-Side Request Forgery (SSRF) due to improper validation of webhook redirect targets.\nThe vulnerability originates in apps/api/plane/bgtasks/webhook_task.py, where the application performs webhook deliveries using requests.post() without disabling redirect following.\nAn attacker with workspace creation privileges can register a malicious webhook pointing to an external endpoint controlled by the attacker. By returning an HTTP 302 redirect, the attacker can force the Plane worker to perform requests against internal network resources, including sensitive cloud metadata services.\nThe exploitation allows an authenticated user to exfiltrate internal data by forcing the application to store and return the response bodies of the requested internal resources via the webhook-logs API.\nThis vulnerability poses a significant risk as it permits an attacker to bypass network boundary controls, interact with internal infrastructure, and potentially compromise internal services or retrieve sensitive environment configuration and credentials.",
"technicalDetails": "The vulnerability exists within the webhook delivery mechanism implemented in apps/api/plane/bgtasks/webhook_task.py. The application utilizes the requests.post() function to dispatch webhooks to user-defined URLs. While the implementation employs a validate_url() function to sanitize the initial destination, this validation is insufficient as it only performs checks on the entry-point URL.\nThe root cause of the flaw is the default behavior of the requests library, which automatically follows HTTP redirects unless explicitly configured otherwise via the allow_redirects parameter. In the affected versions, allow_redirects=False is not set, and there is no post-redirection validation logic implemented to inspect the target of subsequent redirect chain steps.\nAn attacker exploits this by registering a workspace and configuring a webhook to point to a controlled server. The attacker's server responds to the initial request with an HTTP 302 redirect pointing to an internal IP address (e.g., 169.254.169.254 for cloud metadata services) or other local network services. Because the worker process does not perform validation on the redirect target, the requests library follows the redirect to the internal resource.\nThe execution flow proceeds as follows: (1) The attacker initiates a webhook delivery to their malicious endpoint. (2) The Plane worker process executes the request. (3) The attacker's endpoint returns a redirect to an internal target. (4) The worker follows the redirect, interacting with the internal resource. (5) The resulting response body from the internal resource is captured by the application and stored within the webhook_logs database. (6) The attacker retrieves the sensitive data by accessing the workspace webhook-logs API, which exposes the captured logs.\nThis vulnerability effectively bypasses network segmentation, enabling an attacker to perform reconnaissance on internal infrastructure and exfiltrate internal configuration data or metadata credentials. The attack requires authentication to the platform and the ability to create a workspace, which are standard operations for users of the tool. The issue is resolved in version 1.4.0 by enforcing proper redirect handling and validation."
}