Impact
The vulnerability exists in Mealie’s AsyncSafeTransport SSRF guard (mealie/pkgs/safehttp/transport.py). The application resolves the target hostname once and checks the resolved IP against private‑range rules, but then performs the outbound HTTP request using the original hostname, which causes the underlying async transport to re-resolve independently. This creates a time‑of‑check to time‑of‑use (TOCTOU) condition. A DNS‑rebinding attacker can supply a public IP during the initial validation lookup while returning a private or cloud‑metadata IP for the actual connection, thereby bypassing the guard. The flaw allows an authenticated user to use API endpoints such as /api/recipes/create/url, /api/recipes/test‑scrape‑url, and /api/recipes/{slug}/image to scrape external URLs, with the fetched content reflected back to the requester. Consequently, internal HTTP services and cloud‑metadata endpoints become discoverable and readable to authenticated users, exposing sensitive network information.
Affected Systems
The affected product is the mealie‑recipes Mealie application. No specific version information is listed in the advisory, meaning all deployed instances could be vulnerable until the vendor releases a fix. The repository at https://github.com/mealie-recipes/mealie contains the problematic code in pkgs/safehttp/transport.py.
Risk and Exploitability
The CVSS score of 5.3 reflects a moderate severity vulnerability. EPSS < 1% and the flaw is not listed in the CISA KEV catalog, so the urgency is driven by the attacker’s need to be an authenticated user. Once authenticated, an attacker can use the provided API endpoints to trigger the DNS‑rebinding attack, retrieve data from internal services, and access cloud‑metadata endpoints, potentially exposing confidential infrastructure information. The direct attack vector is through API calls from an authenticated session, exploiting the TOCTOU flaw in the SSRF guard.
OpenCVE Enrichment