Description
Memos' webhook URL validation, isReservedIP() (internal/webhook/validate.go), checks a candidate IP against a reservedCIDRs list that omits 0.0.0.0/8 and never calls ip.IsUnspecified() — unlike the correctly implemented sibling function isInternalIP() in internal/httpgetter/html_meta.go, which does. Because Linux redirects connections to 0.0.0.0 to loopback (127.0.0.1), an attacker registering a webhook URL of http://0.0.0.0:PORT/ bypasses the reserved-IP check and causes the Memos server to make outbound HTTP requests to its own loopback interface, exposing internal-only services.
Published: 2026-08-05
Score: 8.5 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw resides in Memos’ webhook URL validation, where the isReservedIP() function omits the 0.0.0.0/8 block and does not detect unspecified IPs. An attacker can register a webhook URL of http://0.0.0.0:PORT/ to bypass the reserved‑IP check. Because Linux redirects 0.0.0.0 connections to 127.0.0.1, the Memos server makes outbound HTTP requests to its own loopback interface, enabling the attacker to reach internal‑only services that would otherwise be unreachable from the external network. This is a classic Server‑Side Request Forgery (CWE‑918) that allows disclosure of sensitive internal resources.

Affected Systems

The vulnerability affects the Memos application as distributed by usememos. No specific version information is listed in the CNA data, so all current releases of Memos are potentially impacted until a fix is released.

Risk and Exploitability

With a CVSS score of 8.5, the vulnerability is considered high severity. The EPSS score is not disclosed, and the issue is not yet listed in CISA’s KEV catalog. The attack vector is inferred from the description: an attacker must be able to register a webhook on the Memos instance. Once registered, the server will automatically perform HTTP requests to its loopback address, exposing internal services. The exploit does not require any privileged credentials on the host, and the conditions for exploitation are minimal, making it a realistic threat.

Generated by OpenCVE AI on August 5, 2026 at 14:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to the latest Memos release once available, which includes the corrected webhook validation logic.
  • If an immediate upgrade is not possible, manually patch the validate.go file to include 0.0.0.0/8 in the reservedCIDRs list or add an ip.IsUnspecified() check before allowing the request.
  • As a temporary safeguard, block outbound HTTP traffic from the Memos process to localhost (127.0.0.1) using firewall rules or container network policies.

Generated by OpenCVE AI on August 5, 2026 at 14:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Usememos
Usememos memos
Vendors & Products Usememos
Usememos memos

Wed, 05 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
Description Memos' webhook URL validation, isReservedIP() (internal/webhook/validate.go), checks a candidate IP against a reservedCIDRs list that omits 0.0.0.0/8 and never calls ip.IsUnspecified() — unlike the correctly implemented sibling function isInternalIP() in internal/httpgetter/html_meta.go, which does. Because Linux redirects connections to 0.0.0.0 to loopback (127.0.0.1), an attacker registering a webhook URL of http://0.0.0.0:PORT/ bypasses the reserved-IP check and causes the Memos server to make outbound HTTP requests to its own loopback interface, exposing internal-only services.
Title Memos Webhook SSRF via 0.0.0.0 Reserved-IP Bypass
Weaknesses CWE-918
References
Metrics cvssV3_1

{'score': 8.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-05T15:38:10.762Z

Reserved: 2026-08-05T12:23:34.967Z

Link: CVE-2026-71271

cve-icon Vulnrichment

Updated: 2026-08-05T15:38:07.117Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T15:00:05Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)