Skip to main content

Memos EUVDEUVD-2026-53356

| CVE-2026-71271 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-05 TuranSec GHSA-jjh5-p3gc-84xr
8.5
CVSS 3.1 · Vendor: TuranSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privileged Memos account
  2. Delivery
    Register webhook URL http://0.0.0.0:PORT/
  3. Exploit
    isReservedIP() misses 0.0.0.0, validation passes
  4. Execution
    Trigger webhook-generating memo event
  5. Persist
    Memos server connects to own loopback service
  6. Impact
    Exfiltrate internal service response data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must hold a valid, low-privileged Memos account with permission to create or modify webhooks, as reflected by PR:L in the CVSS vector. The Memos server must be running on a Linux host: the 0.0.0.0-to-loopback kernel routing behavior that makes this SSRF reachable is Linux-specific and does not apply to Windows or macOS deployments. No non-default configuration of Memos is required - any standard Linux-hosted instance permitting webhook registration by non-admin users is vulnerable. Exploitation is bounded by the services actually listening on loopback at the time of the request; impact escalates significantly if unauthenticated services such as Redis, Docker API, or a local admin panel are present. The requirement for authenticated access is the primary limiting factor: unauthenticated external actors cannot register webhooks.

Impact

The CVSS 8.5 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N) accurately represents the real-world risk profile. The Changed Scope and High Confidentiality ratings are the primary risk drivers: SSRF to loopback in containerized or cloud-hosted environments routinely exposes unauthenticated internal APIs, credential stores, or infrastructure metadata, which can escalate to full system compromise. The PR:L requirement is a meaningful constraint - unauthenticated actors cannot register webhooks, so the attack surface is limited to users holding valid Memos accounts. The Linux-specific kernel routing behavior is a genuine scope limiter: Windows and macOS do not route 0.0.0.0 to loopback in the same manner, restricting exploitation to Linux deployments. No EPSS score was provided in the intelligence data, so exploitation probability cannot be quantified numerically; however, SSRF-to-loopback is a well-understood, low-skill technique once account access is obtained. The wildcard CPE (version *) with no confirmed upper boundary means all deployed instances should be treated as vulnerable - no patch version was available at time of analysis, which elevates urgency for organizations without compensating network controls.

Exploit ScenarioDerived

An attacker holding a low-privileged Memos account navigates to the webhook configuration interface and registers a URL such as http://0.0.0.0:2375/ or http://0.0.0.0:6379/, targeting Docker daemon or Redis ports commonly bound to loopback on self-hosted deployments. When any memo event triggers the webhook, the Memos server calls isReservedIP(), passes validation because 0.0.0.0 is not in the checked CIDR list, and issues an outbound HTTP GET to its own loopback interface on the specified port - returning any plaintext response body to the attacker as webhook delivery data. No public proof-of-concept code has been identified at time of analysis, but the technique requires only a standard HTTP client and knowledge of common loopback service ports.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 05, 2026

Webhook URL validation bypass in Memos allows authenticated users to trigger Server-Side Request Forgery via the 0.0.0.0 address notation, causing the server to make outbound HTTP requests to its own loopback interface and exposing internal-only services, with a CVSS 8.5 score reflecting Changed Scope and High Confidentiality impact. The root cause is a code-divergence defect: isReservedIP() in internal/webhook/validate.go omits the 0.0.0.0/8 CIDR block and never calls ip.IsUnspecified(), while the correctly implemented sibling function isInternalIP() in internal/httpgetter/html_meta.go does both. No public exploit code or CISA KEV listing has been identified at time of analysis, but the low attack complexity and standard SSRF-to-loopback technique make this a realistic risk on any Linux-hosted Memos instance with multi-user access.

RemediationAI

No vendor-released patch has been identified at time of analysis; monitor the Memos GitHub repository at https://github.com/usememos/memos for a patched release and apply it immediately upon availability. As the highest-priority compensating control, restrict webhook creation permissions to trusted administrative accounts only, directly reducing the PR:L attack surface by preventing low-privilege users from registering arbitrary URLs; the trade-off is reduced self-service capability for regular users. Implement host-level or container egress firewall rules blocking outbound HTTP connections from the Memos process to 0.0.0.0/8, 127.0.0.0/8, and any other loopback or internal CIDR ranges, so that even if a bypass is triggered the TCP connection is dropped before reaching sensitive services; note that this will also block any legitimate webhook integrations targeting internal endpoints, which must be explicitly re-permitted. Additionally, audit all existing webhook registrations in the Memos database for URLs containing 0.0.0.0 or other reserved address notations to identify whether exploitation has already occurred.

Affected VersionsENISA

memos 0 ≤0.29.1

Affected Packages

euvd memos no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Memos is an open-source self-hosted memo and note-taking web application identified by CPE cpe:2.3:a:usememos:memos:*:*:*:*:*:*:*:*. The vulnerability is a CWE-918 (Server-Side Request Forgery) rooted in incomplete IP address validation within the webhook registration subsystem. The function isReservedIP() in internal/webhook/validate.go validates candidate webhook destination IPs against a hardcoded reserved CIDR list but fails to include 0.0.0.0/8 and does not call ip.IsUnspecified(). On Linux, the kernel routes any TCP connection targeting 0.0.0.0 to the loopback interface (127.0.0.1), meaning a webhook URL of http://0.0.0.0:PORT/ passes all validation checks yet causes the Memos process to connect to itself. The explicit contrast with isInternalIP() in internal/httpgetter/html_meta.go - which correctly handles this case - indicates the two functions diverged during separate development or modification cycles rather than representing a design-level oversight. The CVSS Changed Scope metric (S:C) reflects the ability to reach services beyond Memos itself, such as unauthenticated admin APIs, Redis instances, Docker daemons, or cloud metadata endpoints bound to loopback.

Know when Memos gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (TuranSec) PRIMARY 8.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
vuln.today AI 8.5 HIGH

Webhook registration is network-accessible and requires only a low-privileged account; Changed Scope and High Confidentiality reflect SSRF reaching loopback services outside Memos' trust boundary.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A validation bypass in Memos' webhook feature allows authenticated users to exploit server-side request forgery (SSRF) and access internal-only services on the same server. This exposes sensitive internal APIs, databases, and services to any authenticated Memos user, creating insider-risk and privilege-escalation vectors. Organizations with multi-user Memos deployments face immediate exposure of internal systems.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict webhook feature to administrators only; (2) implement egress firewall rules blocking outbound connections to 127.0.0.0/8 and internal networks from the Memos process; (3) enable audit logging for all webhook creation, modification, and execution events; (4) monitor egress traffic from the Memos server for HTTP requests to reserved/loopback addresses.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
popular self-hosted note app with substantial open-source community adoption
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

More in Memos

View all
CVE-2025-22952 CRITICAL POC
9.8 Feb 27

elestio memos v0.23.0 is vulnerable to Server-Side Request Forgery (SSRF) due to insufficient validation of user-supplie

CVE-2022-4686 CRITICAL POC
9.8 Dec 23

Authorization Bypass Through User-Controlled Key in GitHub repository usememos/memos prior to 0.9.0. Rated critical seve

CVE-2022-4866 CRITICAL POC
9.0 Dec 31

Cross-site Scripting (XSS) - Stored in GitHub repository usememos/memos prior to 0.9.1. Rated critical severity (CVSS 9.

CVE-2022-4865 CRITICAL POC
9.0 Dec 31

Cross-site Scripting (XSS) - Stored in GitHub repository usememos/memos prior to 0.9.1. Rated critical severity (CVSS 9.

CVE-2023-5036 HIGH POC
8.8 Sep 18

Cross-Site Request Forgery (CSRF) in GitHub repository usememos/memos prior to 0.15.1. Rated high severity (CVSS 8.8), t

CVE-2023-4697 HIGH POC
8.8 Sep 01

Improper Privilege Management in GitHub repository usememos/memos prior to 0.13.2. Rated high severity (CVSS 8.8), this

CVE-2022-4844 HIGH POC
8.8 Dec 29

Cross-Site Request Forgery (CSRF) in GitHub repository usememos/memos prior to 0.9.1. Rated high severity (CVSS 8.8), th

CVE-2022-4809 HIGH POC
8.8 Dec 28

Improper Access Control in GitHub repository usememos/memos prior to 0.9.1. Rated high severity (CVSS 8.8), this vulnera

CVE-2022-4808 HIGH POC
8.8 Dec 28

Improper Privilege Management in GitHub repository usememos/memos prior to 0.9.1. Rated high severity (CVSS 8.8), this v

CVE-2022-4803 HIGH POC
8.8 Dec 28

Authorization Bypass Through User-Controlled Key in GitHub repository usememos/memos prior to 0.9.1. Rated high severity

CVE-2022-4689 HIGH POC
8.8 Dec 23

Improper Access Control in GitHub repository usememos/memos prior to 0.9.0. Rated high severity (CVSS 8.8), this vulnera

CVE-2022-4688 HIGH POC
8.8 Dec 23

Improper Authorization in GitHub repository usememos/memos prior to 0.9.0. Rated high severity (CVSS 8.8), this vulnerab

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy