Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as OIDC user
-
DeliverySet picture claim to internal host:port URL
-
ExploitTrigger avatar fetch on login
-
ExecutionServer issues GET to arbitrary IdP port
-
ImpactProbe internal services / port-scan IdP
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 | Requires an authenticated OIDC user who can control their own identity-provider 'picture'/avatar claim, and requires Mealie to be configured to use OpenID Connect authentication (non-default for many installs). Exploitation is further bounded to the OIDC provider's own hostname/address: the flawed allowlist validates the provider hostname but ignores the port, so the attacker can only redirect fetches to arbitrary PORTS on the already-allowlisted provider address, not to fully arbitrary hosts. The fetch is a server-side GET issued on each login, so impact is limited to blind interaction/reconnaissance against services reachable at the provider's internal address; there is no indication response contents are returned to the attacker. Limiting factors: OIDC must be enabled, the attacker must hold a valid account on the trusted IdP, and the IdP address must co-locate reachable internal services. |
| Impact | This is a genuinely low-priority issue, and the signals are consistent rather than conflicting. The vendor-supplied CVSS 4.0 score is 2.3 (Low), reflecting authenticated access (PR:L), a present attack requirement (AT:P - the OIDC provider must expose reachable internal ports), and only limited confidentiality impact on both the vulnerable and a subsequent system (VC:L/SC:L) with no integrity or availability impact. Exploitation status is 'no public exploit identified at time of analysis' - this CVE is NOT in CISA KEV and no exploit-code flag is present in the input, so there is no evidence of active exploitation. A technical writeup exists on HackMD and the vendor (VulnCheck) published an advisory, which raises research visibility but is distinct from weaponized exploit code or in-the-wild use. EPSS is not provided in the input, so probabilistic exploitation likelihood cannot be quantified. The net picture: a real, confirmed SSRF primitive (CWE-918) but one that is blind (GET-only, no response body exfiltration indicated), authenticated, and bounded to the identity provider's address space - a plausible internal port-scan / reconnaissance tool against the IdP rather than a broad RCE or data-exfiltration threat. Patch by upgrading past the 3.26.0-3.28.0 affected range once a fixed release is confirmed. |
| Exploit ScenarioDerived | An authenticated OIDC user sets their identity-provider 'picture' claim to a URL pointing at an internal port on the provider's address (e.g. http://idp-internal:6379/), and on each subsequent login Mealie's avatar fetch issues a server-side GET to that host:port because the allowlist checks the hostname but ignores the port. The attacker can thereby probe or interact with internal services co-located with the IdP from the Mealie server's network position. No public exploit code is identified, though a technical writeup describing the flaw is publicly available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
Server-side request forgery in Mealie 3.26.0 through 3.28.0 allows an authenticated OpenID Connect user to redirect the server's avatar-fetch routine to arbitrary ports on the configured identity provider's address, because the allowlist check validates only the provider hostname and ignores the port. The fetch fires as a server-side GET on each login, so the practical impact is limited to blind interaction and reconnaissance against services co-located on the already-trusted IdP host; the response body is not returned to the attacker. Exploitation requires Mealie to be configured for OIDC authentication (non-default for many deployments) and a valid account on the trusted IdP whose 'picture' claim the user controls, which is why this scores low (CVSS 4.0 base 2.3, independent assessment CVSS 3.1 4.x-equivalent severity). No public exploit code and no confirmed active exploitation were identified at time of analysis, and no vendor-released patch version is present in the available data.
RemediationAI
No vendor-released patch version is identified in the available data (status: no vendor-released patch identified at time of analysis), so remediation is currently compensating controls. The most direct fix is to correct the allowlist comparison in mealie/pkgs/safehttp/transport.py so it matches scheme, hostname AND port (and resolves/validates the final destination after redirects) before the avatar fetch, then redeploy the container image; note this requires maintaining a local fork until upstream ships a release. If patching is not feasible, disable remote avatar fetching for OIDC users - e.g. drop the 'picture' claim handling or store a local placeholder instead of fetching the URL - accepting that user avatars from the IdP will no longer populate automatically. Constrain the blast radius by enforcing egress rules on the Mealie host/container so it can only reach the IdP's expected port (typically 443), which turns the arbitrary-port probe into a no-op but has the side effect of breaking any legitimate auxiliary IdP endpoints your setup relies on. Where OIDC is not required, disable OIDC authentication entirely and rely on local accounts; this removes the attack surface completely but changes your login/identity story. Additionally, avoid hosting unrelated internal services on the same address as the trusted IdP, and treat the Mealie service account as untrusted for network purposes. Verify any manual fix against the advisory at https://www.vulncheck.com/advisories/mealie-3.26.0-through-3.28.0-ssrf-via-oidc-picture-claim-avatar-fetch and the analysis at https://hackmd.io/@haind/mealie-oidc-avatar-ssrf, and monitor https://github.com/mealie-recipes/mealie for a patched release.
Affected VersionsENISA
Affected Packages
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
The flaw is a classic CWE-918 server-side request forgery arising from an incomplete allowlist comparison. Mealie's OIDC login flow reads the identity provider's 'picture' (avatar) claim and fetches that URL server-side so the image can be stored locally; the relevant code lives in mealie/core/security/providers/openid_provider.py (roughly lines 170-200) with the HTTP transport and URL-validation logic in mealie/pkgs/safehttp/transport.py (roughly lines 60-160). The validation step compares the destination hostname against the allowlisted identity provider hostname but drops the port from the comparison, so any port on the trusted provider address passes the check. The CPE entry cpe:2.3:a:mealie-recipes:mealie:*:*:*:*:*:*:*:* is version-wildcarded, but the advisory narrows the affected range to releases 3.26.0 through 3.28.0. Because the request is issued on each login and the attacker cannot see the response, this behaves as a blind SSRF primitive reachable over the network (AV:N) by a low-privileged authenticated user (PR:L) with no user interaction (UI:N) and a changed security scope (S:C, per the independent assessment) - useful mainly for port probing or triggering unauthenticated side effects on services bound to the provider's internal address rather than for data exfiltration.
Know when Mealie 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Authenticated OIDC user (PR:L) triggers a server-side request crossing a trust boundary into the IdP's internal space (S:C), yielding limited blind confidentiality only (C:L), no integrity/availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Mealie 3.26.0 through 3.28.0 contains a server-side request forgery vulnerability in the OpenID Connect avatar fetch that ignores ports when allowlisting the identity provider hostname. Authenticated OIDC users who control their picture URL can make the server send GET requests to arbitrary ports on the provider's internal address on each login.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Mealie 1.0.0beta3 contains an arbitrary file upload vulnerability which allows attackers to execute arbitrary code via a
A Broken Object Level Authorization vulnerability in the component /api/users/{user-id} of hay-kot mealie v2.2.0 allows
Mealie1.0.0beta3 was discovered to contain a Server-Side Template Injection vulnerability, which allows attackers to exe
Mealie is a self hosted recipe manager and meal planner. Rated medium severity (CVSS 6.5), this vulnerability is low att
A stored cross-site scripting (XSS) vulnerability in the recipe asset upload and media serving component in Mealie 3.3.1
Mealie 1.0.0beta3 employs weak password requirements which allows attackers to potentially gain unauthorized access to t
A Broken Object Level Authorization vulnerability in the component /api/users/{user-id} of hay-kot mealie v2.2.0 allows
A stored HTML injection vulnerability in the Recipe Notes rendering component in Mealie 3.3.1 allows remote authenticate
A stored cross-site scripting (XSS) vulnerability in Mealie v0.5.5 allows attackers to execute arbitrary web scripts or
A stored cross-site scripting (XSS) vulnerability in Mealie 1.0.0beta3 allows attackers to execute arbitrary web scripts
A Broken Object Level Authorization vulnerability in the component /households/permissions of hay-kot mealie v2.2.0 allo
Mealie is a self hosted recipe manager and meal planner. Rated medium severity (CVSS 6.5), this vulnerability is remotel
EUVD-2026-96400
GHSA-rr7r-p99j-w4xq
NVD
CVE.org
EPSS
Exploit-DB