Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
Network-delivered SSRF requiring authenticated low-privilege account; scope changes to internal systems justify S:C and C:H with I:L for potential state-altering internal requests.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
4DescriptionCVE.org
An issue in usememos through v0.30.0 allows a remote authenticated attacker to perform Server-Side Request Forgery (SSRF) via the Webhook validation mechanism in internal/webhook/validate.go, by setting a webhook target to an internal address.
AnalysisAI
Server-Side Request Forgery in usememos/memos through v0.30.0 allows authenticated users to redirect server-side HTTP requests to arbitrary internal network addresses by configuring a malicious webhook target URL. The CVSS S:C (Scope Changed) rating reflects that exploitation breaks the application boundary, enabling access to internal infrastructure such as cloud metadata endpoints, internal APIs, or RFC1918-addressed services. A publicly available proof-of-concept exists via GitHub gist; however, EPSS remains low at 0.22% (13th percentile), indicating limited observed exploitation in the wild at time of analysis despite the high CVSS score of 8.5.
Technical ContextAI
The vulnerability resides in the webhook validation logic within internal/webhook/validate.go of the memos application (github.com/usememos/memos). Memos is a self-hosted, open-source note-taking service. When a user configures a webhook, the application issues outbound HTTP requests to the configured target URL - but the validation routine fails to restrict or sanitize destination addresses, permitting internal IP ranges (e.g., 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) or link-local addresses (e.g., 169.254.169.254 for cloud instance metadata). CWE-918 (Server-Side Request Forgery) describes this root cause class: user-controlled input dictates which URLs the server fetches, bypassing intended network access controls. The CVSS vector AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N confirms network delivery, low attack complexity, and scope change to systems beyond the memos application itself. CPE data in NVD is listed as n/a, indicating NVD has not yet populated specific platform identifiers for this product.
RemediationAI
No vendor-released patched version has been confirmed from the available reference data; the fix status should be verified directly against the upstream repository at https://github.com/usememos/memos for commits or releases beyond v0.30.0. If an upgrade is not immediately available, operators can apply compensating controls: restrict outbound HTTP requests from the memos host at the network layer by blocking RFC1918 ranges and link-local addresses (e.g., 169.254.169.254) via firewall or iptables rules - note this will not block DNS rebinding attacks without additional SSRF-safe HTTP client configuration. Disabling the webhook feature entirely via application configuration, if supported, eliminates the attack surface with no functional trade-off for users who do not rely on webhooks. In cloud environments, enforce IMDSv2 (requiring session-based token authentication) to reduce metadata exposure even if SSRF is achieved. Restrict webhook creation permissions to administrative roles only as an additional access control boundary.
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
Same weakness CWE-918 – Server-Side Request Forgery (SSRF)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56176
GHSA-qmhr-x227-7hgf