Skip to main content

Lychee EUVDEUVD-2026-102192

| CVE-2026-62679 HIGH
Path Traversal (CWE-22)
2026-10-15 GitHub_M
8.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege user
  2. Exploit
    Submit encoded ../ traversal to /image/{path}
  3. Execution
    Bypass prefix check before canonicalization
  4. Impact
    Read .env and disclose APP_KEY/DB credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated Lychee account (PR:L) AND the supported but non-default configuration where temporary_image_link_enabled is enabled, temporary_image_link_when_logged_in is disabled, and secure_image_link_enabled is disabled. Under default settings the vulnerable GET /image/{path} path is not reachable in this exploitable mode, which materially limits exposure. The flaw lies in SecurePathController concatenating the attacker-controlled path with the local storage root and running a string-prefix check BEFORE canonicalizing dot segments, so encoded traversal sequences (e.g. '../.env') pass validation and are later resolved by filesystem operations. Impact is bounded to files readable by the web server process (application configuration including APP_KEY/DB credentials, and other users' private images); it is a read-only disclosure with no direct write or availability effect. Fixed in 7.6.4, which adds pre-validation rejecting '..', '%2e', '%2f', and '\\' and canonicalizes via realpath().

Impact

The vendor-supplied CVSS 4.0 score of 8.9 (CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:H) rates this High/Critical, but several signals temper the real-world urgency. The AT:P metric explicitly encodes that exploitation requires a specific non-default configuration (temporary_image_link_enabled on, temporary_image_link_when_logged_in off, secure_image_link_enabled off), and PR:L confirms an authenticated account is required - so this is not a drive-by unauthenticated bug. No EPSS score, no CISA KEV listing, and no public exploit code were provided; a proof-of-concept traversal test case ('../.env') ships inside the vendor's own fix (SecureImageLinksTest.php), which demonstrates the mechanism but is a regression test rather than a weaponized public exploit. The vendor's VI:H/VA:N and subsequent-system SI:H/SA:H ratings appear generous for what is fundamentally an arbitrary file-READ primitive - direct impact is confidentiality (CWE-22 disclosure); the integrity/availability and subsequent-system scores are justified only by the CHAINED consequence that a leaked APP_KEY or database credentials could enable further compromise. Net assessment: a genuine confidentiality flaw worth patching, but its practical priority is moderated by the required authentication AND the required non-default configuration, which together make widespread opportunistic exploitation unlikely. Exploitation status: no public exploit identified at time of analysis.

Exploit ScenarioDerived

On a Lychee instance running the specific non-default link configuration, an attacker who holds any low-privilege authenticated account sends a GET /image/{path} request whose path contains encoded directory-traversal segments. Because SecurePathController performs a string-prefix check before canonicalizing dot segments, the request escapes the storage root and the filesystem resolves it to sensitive files such as .env, disclosing the APP_KEY and database credentials as well as other users' private images. A working traversal path ('../.env') is demonstrated in the test added by the fixing commit.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Authenticated path traversal in Lychee photo-management tool prior to 7.6.4 allows any logged-in user to read files accessible to the web process - including the application's .env file with APP_KEY and database credentials, and other users' private images - by sending encoded traversal segments to GET /image/{path}. Exploitation is not unconditional: it requires the supported but non-default configuration with temporary_image_link_enabled on and both temporary_image_link_when_logged_in and secure_image_link_enabled off, so default installations do not expose the vulnerable code path in an exploitable state. The impact is read-only information disclosure (no write or availability effect) and disclosure of APP_KEY or DB credentials can escalate to further compromise; no public exploit was identified at time of analysis, and the vendor fixed the flaw in 7.6.4.

RemediationAI

Vendor-released patch: 7.6.4 - upgrade to Lychee 7.6.4 or later (release https://github.com/LycheeOrg/Lychee/releases/tag/v7.6.4, advisory https://github.com/LycheeOrg/Lychee/security/advisories/GHSA-j5ff-34x8-xxqg), which adds pre-validation rejecting '..', '%2e', '%2f' and '\' plus realpath() canonicalization in SecurePathController. If immediate upgrade is not possible, the most direct compensating control is to keep temporary_image_link_enabled disabled (its default state); the vulnerable code path only becomes exploitable in the non-default combination where temporary image links are on while temporary_image_link_when_logged_in and secure_image_link_enabled are both off, so reverting either setting to its secure value removes the exposure - the trade-off being that clients relying on shareable unauthenticated temporary image links will no longer receive them and must use the normal authenticated image endpoints instead. Because the flaw permits reading files owned/readable by the web process, assume credentials may have leaked in any instance that ran the vulnerable configuration: rotate APP_KEY (its disclosure enables decryption and signed-token/session forgery) and rotate database credentials, then clear the Laravel cache/config cache so old signed artifacts are invalidated. Additionally, run the PHP/web process with the least filesystem privileges and move .env and database files outside the web process's readable set where operationally feasible, and consider edge/WAF rules that reject request paths containing '..', '%2e' or '%2f' on /image/* as a defense-in-depth measure - noting such rules can be bypassed by further encoding variants and are not a substitute for the 7.6.4 patch.

Affected VersionsENISA

Lychee < 7.6.4

Affected Packages

euvd lychee fix: 7.6.4

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

Lychee is a Laravel (PHP) application, and the affected component is SecurePathController, which serves GET /image/{path} for temporally signed image links. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, i.e. path traversal): the controller concatenates the attacker-controlled path onto the local storage root returned by Storage::disk(StorageDiskType::LOCAL)->path($path) and performs a string-prefix validation before dot segments are canonicalized. Encoded traversal sequences (for example ../.env, or %2e/%2f encodings) therefore survive the prefix check and are only resolved later by filesystem operations, escaping the intended storage directory. The upstream fix in PR 4465 introduces a prevalidation_path() routine that rejects the literal and encoded sequences '..', '%2e', '%2f' and '\' and wraps the resolved path in Safe\realpath(), throwing a WrongPathException when canonicalization fails, which guarantees the final path is the canonicalized target rather than a lexically-prefixed string; the same PR also adds a testPathTraversalIsForbidden regression test that requests a '../.env' path and expects a 418 response. The vulnerable mode is only reachable when temporary_image_link_enabled is enabled while temporary_image_link_when_logged_in and secure_image_link_enabled are disabled - a supported but non-default combination - which is why the assessed vector is CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N rather than the vendor's higher CVSS 4.0 rating.

Know when Lychee 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 (GitHub_M) PRIMARY 8.9 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:H
vuln.today AI 5.3 MEDIUM

Authenticated user (PR:L) over the network (AV:N); the required non-default configuration maps to AC:H; read-only file disclosure gives C:H with I:N/A:N and scope unchanged.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 18:18 EUVD
CVE Published
Oct 15, 2026 - 16:33 cve.org
HIGH 8.9

DescriptionCVE.org

Lychee is a free, open-source photo-management tool. Prior to 7.6.4, SecurePathController, which serves GET /image/{path}, concatenates the attacker-controlled path with the local storage root and performs a string-prefix check before canonicalizing dot segments. Under the supported non-default configuration with temporary_image_link_enabled enabled, temporary_image_link_when_logged_in disabled, and secure_image_link_enabled disabled, any authenticated user can submit encoded traversal segments that pass the prefix check and are later resolved by filesystem operations. This permits reading files available to the web process, including application configuration and other users' private images, and disclosed APP_KEY or database credentials can enable further compromise. This issue is fixed in version 7.6.4.

Technical POC Analysis

CWE-22 (Improper Limitation of a Pathname to a Restricted Directory).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Lychee, an open-source photo management platform, is affected by CVE-2026-62679, a high-severity file disclosure flaw that allows any authenticated user to read files the web process can access - including the application's .env file, database credentials, and other users' private images. The vulnerable code path is only reachable on non-default configurations that enable temporary image links while leaving logged-in and secure link protections disabled; no public exploit code has been identified at time of analysis. Leadership should care because leakage of the application key or database credentials can escalate into broader compromise of the platform and unauthorized exposure of private user content, carrying privacy and regulatory consequences.

Business Impact: High
Compensating Controls

Apply vendor patch. If immediate upgrade to Lychee 7.6.4 or later is not possible, disable temporary_image_link_enabled or enable secure_image_link_enabled and temporary_image_link_when_logged_in so the vulnerable code path is not reachable, restrict filesystem permissions on the application's .env file, and rotate APP_KEY and database credentials on any instance that ran the exploitable configuration.

Threat Intelligence Overview

EPSS Score
0.4%
Top 73% exploitable
Prevalence
Low
self-hosted open-source photo manager, niche hobbyist/small-team footprint
Social Media
2
Sightings
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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Lychee

View all
CVE-2024-25808 HIGH POC
8.3 Mar 22

Cross-site Request Forgery (CSRF) vulnerability in Lychee version 3.1.6, allows remote attackers to execute arbitrary co

CVE-2024-25807 MEDIUM POC
6.1 Mar 22

Cross Site Scripting (XSS) vulnerability in Lychee 3.1.6, allows remote attackers to execute arbitrary code and obtain s

CVE-2023-52082 CRITICAL
9.8 Dec 28

Lychee is a free photo-management tool. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2026-22784 MEDIUM POC
4.3 Jan 12

Lychee photo management tool versions before 7.1.0 contain an authorization bypass in the album password unlock mechanis

CVE-2026-77466 HIGH
8.3 Oct 15

Paid fulfillment bypass in Lychee (Supporter/Pro editions) before 7.7.0: the checkout validators accept any OmnipayProvi

CVE-2026-77470 HIGH
8.3 Oct 15

Unauthenticated buyers on Lychee instances running the Supporter/Pro webshop can tamper with the parameters handed to th

CVE-2026-61838 HIGH
8.2 Oct 15

Unauthenticated attackers who know the shared identifier of a public, password-protected Lychee album can pull down a ZI

CVE-2026-61611 HIGH
7.5 Oct 15

Lychee photo-management instances running versions prior to 7.6.1 expose POST /api/v2/Album::unlock with no throttle, at

CVE-2026-77467 HIGH
7.1 Oct 15

Denial of service in Lychee before 7.7.0 allows an authenticated user with upload/import permission to tie up image-proc

CVE-2026-77468 MEDIUM
6.9 Oct 15

Unauthenticated remote attackers can retrieve a complete OpenAPI schema and repeatedly force CPU-intensive schema regene

CVE-2021-43675 MEDIUM
6.1 Dec 15

Lychee-v3 3.2.16 is affected by a Cross Site Scripting (XSS) vulnerability in php/Access/Guest.php. Rated medium severit

CVE-2026-57568 MEDIUM
5.7 Oct 15

Stored cross-site scripting in Lychee photo-management software (all versions prior to 7.6.0) allows an authenticated us

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