CVE-2026-71210: CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition in mealie-recipes mealie
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.
AI Analysis
Technical Summary
The AsyncSafeTransport SSRF guard in mealie-recipes mealie (mealie/pkgs/safehttp/transport.py) performs a single DNS resolution to validate the target IP against private IP ranges. However, the actual HTTP request uses the original hostname, which is re-resolved independently by the async transport. This disconnect allows a DNS rebinding attacker to return a public IP during validation and a private or cloud metadata IP during the real connection, bypassing the SSRF guard. The flaw is reachable by any authenticated user via the /api/recipes/create/url, /api/recipes/test-scrape-url, and /api/recipes/{slug}/image endpoints, enabling reading of internal HTTP services and cloud metadata through reflected scraper content.
Potential Impact
An authenticated attacker can exploit this vulnerability to bypass SSRF protections and access internal network services or cloud metadata endpoints. This can lead to unauthorized disclosure of sensitive internal information. The vulnerability does not impact integrity or availability but has a high confidentiality impact as per the CVSS vector.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict authenticated user access to the affected API endpoints and monitor for suspicious activity related to SSRF attempts. Consider implementing additional network-level protections to prevent unauthorized internal service access.
CVE-2026-71210: CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition in mealie-recipes mealie
Description
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.
CVSS v3.1
Score 5.3medium
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The AsyncSafeTransport SSRF guard in mealie-recipes mealie (mealie/pkgs/safehttp/transport.py) performs a single DNS resolution to validate the target IP against private IP ranges. However, the actual HTTP request uses the original hostname, which is re-resolved independently by the async transport. This disconnect allows a DNS rebinding attacker to return a public IP during validation and a private or cloud metadata IP during the real connection, bypassing the SSRF guard. The flaw is reachable by any authenticated user via the /api/recipes/create/url, /api/recipes/test-scrape-url, and /api/recipes/{slug}/image endpoints, enabling reading of internal HTTP services and cloud metadata through reflected scraper content.
Potential Impact
An authenticated attacker can exploit this vulnerability to bypass SSRF protections and access internal network services or cloud metadata endpoints. This can lead to unauthorized disclosure of sensitive internal information. The vulnerability does not impact integrity or availability but has a high confidentiality impact as per the CVSS vector.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict authenticated user access to the affected API endpoints and monitor for suspicious activity related to SSRF attempts. Consider implementing additional network-level protections to prevent unauthorized internal service access.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- TuranSec
- Date Reserved
- 2026-08-05T06:56:15.799Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a72e5cdbf8831d5397357ed
Added to database: 08/05/2026, 07:27:09 UTC
Last enriched: 08/05/2026, 07:42:34 UTC
Last updated: 08/06/2026, 00:41:15 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.