Skip to content

File Path Travel

High
ildyria published GHSA-6rj9-gm78-vhf9 Jun 17, 2025

Package

composer lychee-org/lychee (Composer)

Affected versions

>= 6.6.6, <= 6.6.9

Patched versions

6.6.10

Description

Summary

An attacker can leak local files including environment variables, nginx logs and configuration secrets due to a path traversal exploit in SecurePathController.php.

Details

The class SecurePathController.php does not do any checks against path traversal and thus allows a low privileged user to leak any files on the system, this can be used to leak environment variables using requests like GET /image/..%2fconf%2f.env and GET /image/..%2fvar%2fwww%2fhtml%2fLychee%2f.env this can also leak the nginx log history which would allow an attacker to see all the other requests made to the website and be able to leak other user's uploaded images.

PoC

Any user can see any system files even without admin by making a simple request like:
image

Impact

If an attacker has access to any low privileged user account it's able to exploit the file path traversal and leak private server information aswell as other user's private uploads.

Patch

The patch to resolve this issue is found here: ae7270b

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

CVE ID

CVE-2025-50202

Credits