Sceawere
Vulnerability Detail
CVE-2026-108770UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Appwrite SSRF in Screenshot Service
Vulnerability Metadata
- Severity
- Medium
- Score / CVSS
- 5.3
- Creation Date
- 3h ago
- Vendor
- n/a
- Product
- Appwrite
- Attack Type
- Server-Side Request Forgery
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Attack Complexity
- LOW
Narrative and Response
Description
A weakness has been identified in Appwrite up to 2.3.0. This vulnerability affects the function PublicHostname of the file src/Appwrite/Platform/Modules/Avatars/Http/Screenshots/Get.php of the component Browser Screenshot Service. This manipulation of the argument url causes server-side request forgery. The attack can be initiated remotely. Upgrading to version 2.4.0 is able to resolve this issue. Patch name: 393255e7302ae5503331d45802e2eee01c6a47fe. You should upgrade the affected component.
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": "5.3",
"pubDate": "2026-10-11T23:16:56.543Z",
"pubdate": "2026-10-11T23:16:56.543Z",
"executiveSummary": "A Server-Side Request Forgery (SSRF) vulnerability exists in the Appwrite Browser Screenshot Service, specifically within the PublicHostname function.\nThe vulnerability allows remote, unauthenticated attackers to manipulate the 'url' argument, forcing the server to perform unauthorized HTTP requests to arbitrary destinations.\nAffected versions include Appwrite up to 2.3.0.\nThis flaw facilitates unauthorized interactions with internal network resources, potentially leading to information disclosure, port scanning of internal infrastructure, or interactions with local services that do not require authentication.\nSuccessful exploitation allows an attacker to proxy requests through the Appwrite server, effectively bypassing perimeter security controls.\nThe risk is significant as it provides a vector for lateral movement within a containerized or private network environment where the Appwrite instance resides.",
"technicalDetails": "The vulnerability is located in the file 'src/Appwrite/Platform/Modules/Avatars/Http/Screenshots/Get.php' within the Browser Screenshot Service component of Appwrite.\nThe root cause is the improper validation and sanitization of user-supplied input provided to the 'url' argument before it is processed by the screenshot generation function.\nThe 'PublicHostname' function fails to adequately restrict the destination of the requested URL, permitting the submission of internal IP addresses (e.g., 127.0.0.1, 169.254.169.254) or internal hostnames.\nWhen a user triggers the screenshot service, the application processes the URL to capture the rendered web content. Because the application logic does not implement a denylist for internal network ranges or perform strict origin validation, the underlying HTTP client library initiates a request to the provided target.\nThe attack flow proceeds as follows: First, the attacker identifies an endpoint exposed by the Browser Screenshot Service that accepts a 'url' parameter. Second, the attacker crafts a malicious request containing a sensitive internal target URL instead of a legitimate public web address. Third, the Appwrite server, acting as the client, executes a GET request to this target. Finally, the server may either return the response (or an error indicating the state of the internal resource) back to the attacker, or use the response to generate a screenshot, effectively leaking information from the internal network.\nThis flaw effectively transforms the Appwrite server into a proxy for the attacker. If the instance is running inside a cloud environment (e.g., AWS, GCP), the attacker may exploit this to reach the instance metadata service to retrieve IAM credentials or instance configuration details.\nThe vulnerability does not require prior authentication, making it accessible to any remote actor who can reach the screenshot service endpoint. The scope of impact is limited by the server's network connectivity; however, in many deployments, these services have access to the internal network segment hosting the database, cache (Redis), and management APIs.\nThe vulnerability remains exploitable in all versions up to 2.3.0, as the logic lacks the necessary controls to intercept and block SSRF-prone inputs at the architectural level."
}