Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
4DescriptionGitHub Advisory
Lychee is a free, open-source photo-management tool. Prior to 7.5.4, a SQL operator-precedence bug in SharingController::listAll() causes the orWhereNotNull('user_group_id') clause to escape the ownership filter applied by the when() block. Any authenticated non-admin user with upload permission who owns at least one album can retrieve all user-group-based sharing permissions across the entire instance, including private albums owned by other users. This vulnerability is fixed in 7.5.4.
AnalysisAI
SQL operator-precedence bug in Lychee prior to 7.5.4 allows authenticated users with upload permission to bypass ownership filters and retrieve all user-group-based sharing permissions across the instance, including private albums owned by other users. The vulnerability exists in SharingController::listAll() where an orWhereNotNull clause escapes the ownership filter applied by a when() block. This affects any non-admin user who owns at least one album, creating an information disclosure risk that exposes sharing metadata for the entire Lychee instance.
Technical ContextAI
The vulnerability stems from a SQL query construction flaw in the Lychee photo-management application (CPE: cpe:2.3:a:lycheeorg:lychee:*:*:*:*:*:*:*:*). The root cause is classified as CWE-863 (Incorrect Authorization), resulting from improper operator precedence in SQL query logic. The SharingController::listAll() method attempts to filter results based on ownership using a when() conditional block, but the subsequent orWhereNotNull('user_group_id') clause inadvertently negates the ownership restriction through incorrect boolean logic precedence. This allows the OR condition to match records that bypass the initially-applied ownership filter, exposing sharing permission records across the entire instance rather than restricting results to the authenticated user's own shares.
RemediationAI
Vendor-released patch: Lychee 7.5.4 and later. Immediately upgrade to version 7.5.4 or later to resolve the SQL operator-precedence flaw in SharingController::listAll(). The fix is confirmed in GitHub PR #4264 and commit 76a3f0513eca6458bf7f8c337c1ad65e59b22bcb. No workarounds are available for deployments unable to upgrade immediately; consider temporarily restricting upload permissions for non-admin users if delay is unavoidable. Refer to the vendor advisory at https://github.com/LycheeOrg/Lychee/security/advisories/GHSA-4v4c-g2jv-4g25 for upgrade instructions and verification steps.
Cross-site Request Forgery (CSRF) vulnerability in Lychee version 3.1.6, allows remote attackers to execute arbitrary co
Cross Site Scripting (XSS) vulnerability in Lychee 3.1.6, allows remote attackers to execute arbitrary code and obtain s
Lychee is a free photo-management tool. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
Lychee photo management tool versions before 7.1.0 contain an authorization bypass in the album password unlock mechanis
Lychee-v3 3.2.16 is affected by a Cross Site Scripting (XSS) vulnerability in php/Access/Guest.php. Rated medium severit
Incomplete IP validation in Lychee's SSRF protection mechanism allows authenticated users to bypass all four security co
Stored cross-site scripting (XSS) in Lychee photo-management application versions prior to 7.5.3 allows unauthenticated
DNS rebinding bypasses SSRF protection in Lychee photo-management tool versions prior to 7.5.2, allowing authenticated r
Same weakness CWE-863 – Incorrect Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-20954