Skip to main content

Mealie EUVDEUVD-2026-53207

| CVE-2026-71210 MEDIUM
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-08-05 TuranSec GHSA-q2c2-jwjg-8cxx
5.3
CVSS 3.1 · Vendor: TuranSec
Share

Severity by source

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

DNS rebinding requires attacker DNS control and timing (AC:H); any authenticated user can trigger via API (PR:L); only confidentiality is impacted through response reflection (C:H, I:N, A:N).

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

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

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

Lifecycle Timeline

2
CVSS changed
Aug 05, 2026 - 08:22 NVD
6.5 (MEDIUM) 5.3 (MEDIUM)
Analysis Generated
Aug 05, 2026 - 08:09 vuln.today

DescriptionCVE.org

Mealie's AsyncSafeTransport SSRF guard (mealie/pkgs/safehttp/transport.py) resolves a target hostname once, checks the resolved IP against private-range rules, but then issues the actual outbound HTTP request using the original hostname, which the underlying async transport re-resolves independently. Because the validated IP is never pinned to the actual connection, a DNS-rebinding attacker (returning a public IP to the validation lookup and a private/metadata IP to the real connection) defeats the guard. This is reachable by any authenticated user via /api/recipes/create/url, /api/recipes/test-scrape-url, and /api/recipes/{slug}/image, and the scraper reflects fetched content back to the requester, allowing an authenticated user to read internal HTTP services and cloud-metadata endpoints.

AnalysisAI

DNS rebinding defeats the SSRF guard in Mealie's AsyncSafeTransport, allowing any authenticated user to read internal HTTP services and cloud metadata endpoints via three recipe API endpoints. The guard resolves a hostname once for validation, passes the check using the public IP returned, but the underlying async transport independently re-resolves the hostname for the actual connection - an attacker controlling DNS can flip the record to a private or metadata IP between these two events. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog.

Technical ContextAI

Mealie is a self-hosted recipe management application (cpe:2.3:a:mealie-recipes:mealie) written in Python. The flaw resides in mealie/pkgs/safehttp/transport.py, which implements AsyncSafeTransport as an application-layer SSRF guard. The root cause is CWE-367 (Time-of-check Time-of-use, TOCTOU): the guard resolves the target hostname once to validate the resulting IP against private-range blocklists, but because the validated IP is never pinned to the socket-level connection, the underlying async transport performs its own independent resolution when opening the actual TCP connection. This split-resolution architecture is the structural precondition for DNS rebinding: an attacker who controls a DNS domain can return a publicly-routable IP during the validation lookup (passing the guard) and then flip the DNS record - exploiting low TTLs - so the real connection resolves to a private RFC1918 address or a cloud metadata endpoint such as 169.254.169.254. The scraper reflects the full HTTP response body back to the requester, completing the data exfiltration path. Reachable endpoints include /api/recipes/create/url, /api/recipes/test-scrape-url, and /api/recipes/{slug}/image.

RemediationAI

No vendor-released patch has been identified at time of analysis - the fix version is not confirmed from available data; monitor https://github.com/mealie-recipes/mealie for a tagged release addressing this issue and apply promptly. The correct code-level fix is to pin the resolved IP address to the actual socket connection after the validation step, preventing the async transport from performing an independent re-resolution - this eliminates the TOCTOU window entirely. As a network-layer compensating control, deploy egress filtering on the host running Mealie that blocks outbound HTTP/S connections to all private RFC1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8) and the link-local metadata range (169.254.0.0/16); this is more reliable than application-layer guards because it operates at a layer the application cannot bypass, though it may break legitimate integrations with internal services. For AWS deployments, enforce IMDSv2 (requiring a session-oriented token) to prevent unauthenticated metadata reads even if SSRF succeeds - note this requires instance configuration and does not protect other cloud metadata patterns. Restricting access to the affected endpoints to trusted user roles within Mealie (if role-based controls are available) reduces the attack surface without breaking functionality.

More in Mealie

View all
CVE-2022-34613 CRITICAL POC
9.8 Aug 02

Mealie 1.0.0beta3 contains an arbitrary file upload vulnerability which allows attackers to execute arbitrary code via a

CVE-2024-55073 HIGH POC
7.6 Mar 27

A Broken Object Level Authorization vulnerability in the component /api/users/{user-id} of hay-kot mealie v2.2.0 allows

CVE-2022-34625 HIGH POC
7.2 Aug 02

Mealie1.0.0beta3 was discovered to contain a Server-Side Template Injection vulnerability, which allows attackers to exe

CVE-2024-31994 MEDIUM POC
6.5 Apr 19

Mealie is a self hosted recipe manager and meal planner. Rated medium severity (CVSS 6.5), this vulnerability is low att

CVE-2025-70297 MEDIUM POC
6.1 Feb 11

A stored cross-site scripting (XSS) vulnerability in the recipe asset upload and media serving component in Mealie 3.3.1

CVE-2022-34615 CRITICAL
9.8 Aug 19

Mealie 1.0.0beta3 employs weak password requirements which allows attackers to potentially gain unauthorized access to t

CVE-2024-55072 MEDIUM POC
5.4 Mar 27

A Broken Object Level Authorization vulnerability in the component /api/users/{user-id} of hay-kot mealie v2.2.0 allows

CVE-2025-70296 MEDIUM POC
5.4 Feb 11

A stored HTML injection vulnerability in the Recipe Notes rendering component in Mealie 3.3.1 allows remote authenticate

CVE-2022-34619 MEDIUM POC
5.4 Aug 02

A stored cross-site scripting (XSS) vulnerability in Mealie v0.5.5 allows attackers to execute arbitrary web scripts or

CVE-2022-34618 MEDIUM POC
5.4 Aug 02

A stored cross-site scripting (XSS) vulnerability in Mealie 1.0.0beta3 allows attackers to execute arbitrary web scripts

CVE-2024-55070 LOW POC
3.1 Mar 27

A Broken Object Level Authorization vulnerability in the component /households/permissions of hay-kot mealie v2.2.0 allo

CVE-2024-31992 MEDIUM
6.5 Apr 19

Mealie is a self hosted recipe manager and meal planner. Rated medium severity (CVSS 6.5), this vulnerability is remotel

Share

EUVD-2026-53207 vulnerability details – vuln.today

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