Skip to main content

Mealie EUVDEUVD-2026-83026

| CVE-2026-93736 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-18 VulnCheck GHSA-8wpj-9x79-phww
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid Mealie account
  2. Delivery
    Enumerate/guess other user UUIDs
  3. Exploit
    Request /users/{id}/ratings and /favorites with victim ID
  4. Execution
    Server skips ownership check
  5. Impact
    Read cross-user private recipe IDs, ratings, favorites

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated Mealie account (PR:L) on the target instance; exploitation is remote over the network with no user interaction and works against default configurations of the ratings and favorites endpoints in versions before 3.21.0. The attacker supplies an arbitrary victim user ID (UUID) in the URL path. Limiting factors: the attacker must already have a valid account and needs to know or enumerate target user UUIDs; impact is read-only disclosure of ratings, favorite flags, and private recipe identifiers, with no write access or service impact. Notably, no shared group or household membership is required - cross-group access succeeds - which raises exposure on any multi-user instance.

Impact

This is a genuine but low-severity authorization flaw (IDOR/BOLA, CWE-639), not a high-CVSS emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L, no integrity or availability impact) accurately reflects a network-reachable, low-complexity but authenticated read-only information disclosure - an attacker must hold a valid account on the target Mealie instance. No EPSS score, no CISA KEV listing, and no public PoC are present in the input; per the precision rules this means no public exploit is identified at time of analysis, and there is no evidence of active exploitation. The exploitation itself is trivial (swap a user ID in the URL path), so the low-complexity rating is warranted, but impact is confined to leaking other users' recipe ratings, favorite flags, and private recipe identifiers across groups/households - no code execution, no data modification, no service impact. Signals are consistent and non-conflicting: a moderate CVSS from a real access-control bug, corroborated by source-code evidence (the fix adds ownership assertions) and a vendor patch. Bottom line: real, verifiable, patch-worthy on multi-tenant/shared instances, but a routine-priority information-disclosure issue rather than a critical one. One caveat: the input tags this as 'Authentication Bypass' whereas both the description and CWE-639 make clear it is an authorization (ownership-validation) bypass - verify tagging.

Exploit ScenarioDerived

An authenticated user on a shared Mealie instance (e.g., a household member, or a user in an entirely different group) sends a GET request to the ratings or favorites endpoint substituting another user's UUID into the URL path. The server returns that victim's private recipe identifiers, rating values, and favorite flags without checking ownership. No public exploit code is identified, but the attack requires only a trivial parameter substitution against a valid account.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 18, 2026

Mealie versions before 3.21.0 expose an insecure direct object reference (IDOR) in the per-user ratings and favorites endpoints, allowing any authenticated account holder to read another user's recipe ratings, favorite flags, and the private recipe identifiers attached to them by simply substituting a victim's user UUID in the request URL. Exploitation requires a valid account on the target instance but does not require the attacker to share a group or household with the victim - cross-group and cross-household reads succeed, which the upstream regression tests explicitly verify by expecting 403 once the fix is applied. The impact is read-only information disclosure (CVSS 3.1 5.3, AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), with no write capability or service disruption, and no public exploit code identified at time of analysis; the practical limiting factor is that the attacker must know or enumerate target user UUIDs.

RemediationAI

Upgrade to Mealie 3.21.0 or later (release tag https://github.com/mealie-recipes/mealie/releases/tag/v3.21.0), which is the vendor-released fix resolving this issue; the change is delivered by PR https://github.com/mealie-recipes/mealie/pull/7903 and commit 6889101a760a457019276c10514e630660b3ed28, which adds an ownership assertion to the ratings and favorites handlers so cross-tenant reads return 403. No configuration toggle in affected versions enforces the missing ownership check, so patching is the only complete fix. Where immediate upgrade is not possible, compensating controls should focus on shrinking the authenticated attack surface: disable open user self-registration and remove or disable dormant accounts so that unvetted users cannot obtain the authenticated session (PR:L) required for exploitation - the trade-off is that this does not protect existing legitimate users from one another. Restrict network access to the Mealie instance through a reverse proxy with authentication, VPN, or an allow-list of trusted source addresses, which blocks remote (AV:N) reachability but adds an access management burden and breaks integrations that rely on direct API access. Because exploitation requires knowledge of target user UUIDs, avoid publishing user identifiers in logs, exports, or public-facing pages, and monitor API logs for sequential or repeated 200 responses on /users/<id>/ratings and /users/<id>/favorites from sessions other than the account owner. Note that no vendor-released patch data indicates an absence of a fix - the patch is available as noted above - and no public exploit code has been identified at time of analysis.

Affected VersionsENISA

mealie 0 <3.21.0

Affected Packages

euvd mealie fix: 3.21.0

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 authorization bypass through a user-controlled key (CWE-639) in Mealie, a self-hosted recipe manager whose data model spans users, groups, and households. The vulnerable code lives in the per-user endpoints implemented in mealie/routes/users/ratings.py (roughly lines 44-52) and the supporting query layer in mealie/repos/repository_users.py (lines 82-88): the route resolves the user identifier taken directly from the URL path and performs the ratings/favorites lookup without confirming that the requested UUID matches the caller's identity or falls within their authorized group/household scope. The upstream fix in PR #7903 (commit 6889101a760a457019276c10514e630660b3ed28) inserts an assert_user_change_allowed(id, self.user, self.user) ownership check into the handler, causing cross-tenant requests to return HTTP 403. Because the underlying Python/FastAPI application relies on the path parameter as the object key and the repository layer returns records for that key without an ownership predicate, any authenticated session can pivot to arbitrary users simply by guessing or harvesting UUIDs; the exposed fields include rating values, favorite booleans, and private recipe identifiers. The CPE cpe:2.3:a:mealie-recipes:mealie:*:*:*:*:*:*:*:* confirms the whole product is affected across all builds prior to the 3.21.0 release.

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Authenticated account required (PR:L) but trivial to exploit over the network (AC:L); read-only leak of low-sensitivity data (C:L) with no integrity or availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Mealie before 3.21.0 fails to validate user ownership in the ratings and favorites endpoints, allowing authenticated attackers to read any user's recipe ratings and favorites by specifying arbitrary user IDs in the URL path. Attackers can access private recipe identifiers, rating values, and favorite flags belonging to other users across different groups or households.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
niche self-hosted homelab recipe manager, limited enterprise footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

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

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