Skip to content

Commit 51e5de8

Browse files
authored
Version 6.6.10 (#215)
1 parent 6be9ddc commit 51e5de8

File tree

2 files changed

+45
-2
lines changed

2 files changed

+45
-2
lines changed

docs/releases.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,45 @@
3030

3131
## Version 6
3232

33+
### v6.6.10
34+
35+
Released on Jun 18, 2025
36+
37+
#### Security release: MAJOR Vulnerability fix (9.8)
38+
39+
Lychee version between 6.6.6 and 6.6.9 (included) are vulnerable to a path traversal attack.
40+
This leads the attacker being able to read any files on the server, including `/etc/passwd` and `.env` files...
41+
42+
#### What to do?
43+
44+
We strongly recommend that you consider your installation compromised and rotate your secret key using `php artisan key:generate`.
45+
If you are using docker you can do this by running the following command:
46+
```bash
47+
docker exec -it <lychee_app> php artisan key:generate
48+
```
49+
Or modify the value of `APP_KEY` in your `.env` file. This will also invalidate all existing sessions.
50+
51+
#### The vulnerability
52+
53+
This vulnerability miss-uses the `$path` variable sent to the server, which is used to access the photos via the `SecurePathController`.
54+
We wrongly assumed that `Storage::disk(StorageDiskType::LOCAL->value)->path($path);` was protected against path traversal attacks which lead to this vulnerability.
55+
56+
When both the encrypted links and the temporary links are disabled, it is possible to call the endpoint with fictitious path values. Ironically, by enabling either of the functionality, the endpoint becomes secure again.
57+
58+
#### The fix
59+
60+
We applied defense in depth:
61+
62+
1. when neither functionality are enabled, we directly return a 401/403 error on any call to `/image/{path}`.
63+
2. when either of the functionality are enabled, we check that the `$path` value generated by `Storage::disk(StorageDiskType::LOCAL->value)->path($path);` is within the intended image directory. Should this happen, we return a 418 error code (I'm a teapot) which can later be used to detect malicious calls and combined with fail-2-ban to block the IP address of the attacker.
64+
65+
#### Credits
66+
67+
We would really like to thank [@MrRauL124](https://github.com/MrRauL124) for reporting this vulnerability.
68+
69+
* `fixes` #3469 : Fix path traversal attack + bump version.
70+
71+
3372
### v6.6.9
3473

3574
Released on Jun 17, 2025

src/components/widgets/Announcement.astro

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,13 @@
99
class="text-slate-200 dark:bg-sky-700 bg-sky-600 dark:text-slate-200 font-semibold px-1 py-0.5 text-xs mr-0.5 rtl:mr-0 rtl:ml-0.5 inline-block"
1010
>NEW</span
1111
>
12+
<!-- <a
13+
href="https://github.com/LycheeOrg/Lychee/releases/tag/v6.6.10"
14+
class="text-slate-200 hover:underline dark:text-slate-200 font-medium">Lychee 6.6.10 is now available! »</a
15+
> -->
1216
<a
13-
href="https://github.com/LycheeOrg/Lychee/releases/tag/v6.6.9"
14-
class="text-slate-200 hover:underline dark:text-slate-200 font-medium">Lychee 6.6.9 is now available! »</a
17+
href="https://github.com/LycheeOrg/Lychee/releases/tag/v6.6.10"
18+
class="text-slate-200 hover:underline dark:text-slate-200 font-medium"><span class="text-red-500 font-bold">CVSS 9.8 in Lychee 6.6.9</span>, update Lychee 6.6.10 as soon as possible! »</a
1519
>
1620
<a
1721
target="_blank"

0 commit comments

Comments
 (0)