Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain album identifier
-
DeliveryAutomate POST /api/v2/Album::unlock guesses
-
ExploitBrute-force password via unthrottled Hash::check
-
ExecutionRecover album password
-
ImpactAccess private photo collection
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
|
| Exploitation Conditions | Exploitation requires that (1) the Lychee instance (version prior to 7.6.1) has at least one password-protected album configured, and (2) the attacker knows or can obtain that album's identifier. The vulnerable path is POST /api/v2/Album::unlock, which UnlockAlbumRequest::authorize() leaves open to any caller and which lacks any throttle, attempt counter, backoff, CAPTCHA, or lockout. No authentication is required (PR:N) and no user interaction is needed. The practical limiting factor is password strength: a strong, high-entropy album password resists brute-forcing even with unlimited attempts, so realistic impact is concentrated on albums protected by weak or common passwords. Exposure is further limited to instances reachable by the attacker (e.g. internet-facing deployments) and to the contents of the specific unlocked album. |
| Impact | This is a genuine but bounded risk. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, 7.5) is internally consistent with the description: a remote, unauthenticated attacker can reach POST /api/v2/Album::unlock over the network with low complexity and no user interaction, and success yields confidentiality-only impact (I:N/A:N) scoped to a single album's photos. The CWE-307 (improper restriction of excessive authentication attempts) classification is well-supported by the source evidence - the fix simply adds throttle:10,1 middleware. No EPSS score, KEV listing, POC, or SSVC data was provided in the input, so exploitation status is 'no public exploit identified at time of analysis.' Importantly, the C:H rating somewhat overstates realistic impact: compromise is not guaranteed by the flaw alone but is contingent on the targeted album's password being weak enough to brute-force, and exposure is limited to that one password-protected album rather than the whole system. So this should be treated as a moderate-priority hardening fix (especially for internet-exposed Lychee instances holding sensitive private albums) rather than a critical, immediately-weaponizable issue. No key signals conflict; the main gap is the absence of EPSS/KEV/POC telemetry to gauge real-world attacker interest. |
| Exploit ScenarioDerived | An attacker discovers or guesses the identifier of a password-protected Lychee album on an internet-facing instance and points an automated script at POST /api/v2/Album::unlock, submitting password guesses as fast as the server accepts them with no lockout or delay. Because Hash::check is invoked on every attempt without an attempt counter or backoff, a weak or common album password is recovered within a feasible number of requests, granting access to the private photo collection. No public exploit was identified at time of analysis, though the attack is trivial to automate with standard HTTP tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Lychee photo-management instances running versions prior to 7.6.1 expose POST /api/v2/Album::unlock with no throttle, attempt counter, backoff, CAPTCHA, or lockout, letting remote unauthenticated attackers (CVSS PR:N, no user interaction) automate password guessing against password-protected albums. Successful recovery of an album password grants access to that album's otherwise private photo collection, so the realistic impact is concentrated on albums secured with weak or common passwords, since high-entropy passwords resist brute-forcing even with unlimited attempts. The fix is available in Lychee 7.6.1, which adds rate-limiting middleware to the unlock route; no public exploit is identified at time of analysis, and exploitation is bounded by the need to know or obtain a valid album identifier and by the strength of the album password.
RemediationAI
Vendor-released patch: upgrade to Lychee 7.6.1, which applies Laravel's throttle:10,1 middleware to the POST /api/v2/Album::unlock route and thereby limits password-guessing attempts to ten per minute per client; the release is available at https://github.com/LycheeOrg/Lychee/releases/tag/v7.6.1 and details are in advisory https://github.com/LycheeOrg/Lychee/security/advisories/GHSA-48vf-fwx6-2ph6. If immediate upgrade is not possible, compensating controls include enforcing rate limiting on that specific path at the reverse proxy or WAF (for example an nginx limit_req zone of roughly 10 requests per minute per source IP for /api/v2/Album::unlock), which mitigates automated guessing but can also throttle legitimate users sharing a NAT or proxy address and requires log-based tuning; replacing weak album passwords with high-entropy passphrases, since brute-force success depends on password strength; restricting the endpoint or the whole instance to trusted networks or a VPN so internet-facing attackers lose reachability, at the cost of external accessibility; and monitoring or alerting on repeated unlock failures for a single album identifier to detect in-progress guessing. Because no public exploit is identified at time of analysis, prioritization should reflect the exposure of password-protected albums on internet-reachable instances rather than assumed active exploitation.
Affected VersionsENISA
Affected Packages
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 an open-source PHP photo-management application built on the Laravel framework. The vulnerability is an instance of CWE-307 (Improper Restriction of Excessive Authentication Attempts): the API endpoint POST /api/v2/Album::unlock routes to Gallery\AlbumController::unlock, and UnlockAlbumRequest::authorize() permits any caller to submit unlock attempts while app/Actions/Album/Unlock.php validates each submitted guess with Laravel's Hash::check. Because no counting, delay, or blocking logic exists between attempts, the password verification is effectively an oracle an attacker can query at machine speed. The CPE entry cpe:2.3:a:lycheeorg:lychee:*:*:*:*:*:*:*:* reflects that the flaw applies to the Lychee product family across all releases before the fixed build. The upstream correction, visible in PR #4448 (commit 592291458a3373114a21412956fd23cfcda32aba), appends Laravel's throttle:10,1 middleware to the unlock route, capping requests at ten per minute per client, which directly addresses the absence of server-side attempt restriction.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Remote unauthenticated endpoint with no throttling gives AV:N/AC:L/PR:N/UI:N; success discloses one album's private photos so C:H, with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Lychee is a free, open-source photo-management tool. Prior to 7.6.1, POST /api/v2/Album::unlock has no throttle, attempt counter, backoff, CAPTCHA, or lockout. UnlockAlbumRequest::authorize() permits any caller to submit attempts, and app/Actions/Album/Unlock.php verifies each guess with Hash::check without limiting repeated failures. A remote unauthenticated attacker who knows or can obtain an album identifier can automate password guesses against a password-protected album and, if the password is recovered, gain access to its private photo collection. This issue is fixed in version 7.6.1.
Technical POC Analysis
CWE-307 (Improper Restriction of Excessive Authentication Attempts).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Lychee photo-management deployments older than version 7.6.1 allow anyone on the network to make unlimited automated guesses at the passwords protecting private photo albums, with no lockout or delay to slow them down. The practical exposure is concentrated in albums guarded by weak or reused passwords, where a successful guess hands an outsider the organization's private imagery and any sensitive content it contains. Leadership should care because this is a low-effort, unattended attack that can run against internet-facing instances indefinitely, and the confidentiality of stored photos is the asset at risk.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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,
Authenticated path traversal in Lychee photo-management tool prior to 7.6.4 allows any logged-in user to read files acce
Lychee photo management tool versions before 7.1.0 contain an authorization bypass in the album password unlock mechanis
Paid fulfillment bypass in Lychee (Supporter/Pro editions) before 7.7.0: the checkout validators accept any OmnipayProvi
Unauthenticated buyers on Lychee instances running the Supporter/Pro webshop can tamper with the parameters handed to th
Unauthenticated attackers who know the shared identifier of a public, password-protected Lychee album can pull down a ZI
Denial of service in Lychee before 7.7.0 allows an authenticated user with upload/import permission to tie up image-proc
Unauthenticated remote attackers can retrieve a complete OpenAPI schema and repeatedly force CPU-intensive schema regene
Lychee-v3 3.2.16 is affected by a Cross Site Scripting (XSS) vulnerability in php/Access/Guest.php. Rated medium severit
Stored cross-site scripting in Lychee photo-management software (all versions prior to 7.6.0) allows an authenticated us
EUVD-2026-102189
NVD
CVE.org
EPSS
GitHub
Exploit-DB