Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed post-install Lychee instance
-
ExploitSend repeated GET /docs/api requests
-
ExecutionForce uncached OpenAPI schema regeneration
-
ImpactExhaust server CPU and harvest API schema
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a Lychee instance prior to version 7.7.0 that has completed installation, where the GET /docs/api route serving Scramble-generated OpenAPI documentation is exposed by default (the restricting middleware was commented out before the fix) and is both unauthenticated and unthrottled. No special configuration, credentials, or user interaction are needed - remote unauthenticated exploitation works against default post-installation deployments. Limiting factors: the instance must be network-reachable by the attacker; the impact is bounded to CPU/availability degradation plus API-schema disclosure rather than code execution or data compromise; white-label installs behave differently post-patch (route hidden); and upgrading to 7.7.0, which adds caching and the RestrictApiDocsAccess middleware, fully removes the condition. |
| Impact | This is a medium-severity resource-exhaustion issue (CWE-770), not a high-priority emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms remote, unauthenticated, low-complexity reachability with no user interaction, but the impact is deliberately scoped to availability-only (VA:L) with no confidentiality or integrity impact in the vendor's reading - the 6.9 score reflects easy reach paired with limited, partial impact rather than a critical flaw. No EPSS score, KEV listing, POC, or SSVC decision data was supplied; per the precision rules this means no public exploit has been identified at time of analysis and there is no evidence of active exploitation, so the only confirmed signals are the CVSS metrics and the GitHub security advisory/patch. Note a minor tension between the vendor vector and the description: the vendor sets VC:N, yet the description explicitly states the attacker can 'obtain a detailed map of the API surface and parameter schema,' which is a genuine low-level information-disclosure impact the vendor vector omits - this analysis treats that as a secondary C:L effect. The headline DoS impact is also qualified: the advisory describes CPU consumption from uncached schema regeneration (observed via response size/latency) rather than a confirmed full-service outage, so real-world risk is best characterized as service degradation under sustained request volume, not guaranteed takedown. |
| Exploit ScenarioDerived | An attacker locates an internet-exposed Lychee instance (version prior to 7.7.0) that has completed installation and sends a high-rate stream of GET /docs/api requests. Because the route is unauthenticated, unthrottled, and the Scramble-generated OpenAPI document is regenerated without an application-level cache, each request forces fresh schema generation and consumes server CPU, degrading availability for legitimate users; the same responses also hand the attacker a complete map of the API surface and parameter schema. No public proof-of-concept exploit was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Unauthenticated remote attackers can retrieve a complete OpenAPI schema and repeatedly force CPU-intensive schema regeneration on Lychee photo-management installations before version 7.7.0. The GET /docs/api route is exposed by default after installation, lacks authentication and rate limiting, and regenerates the Scramble-generated documentation on every request, enabling both API-surface disclosure and server resource exhaustion. This is a medium-severity resource-exhaustion issue (CWE-770) with bounded impact-no code execution or data compromise-and no public exploit code or confirmed active exploitation identified at time of analysis.
RemediationAI
Upgrade to Lychee 7.7.0 or later, which is the vendor-released patch cited in the advisory (GHSA-xg8r-4pm3-2h4f) and release notes; this version adds the RestrictApiDocsAccess middleware and a cache layer for the Scramble OpenAPI document, eliminating the unauthenticated, unthrottled regeneration issue. If immediate upgrading is not possible, apply compensating controls: restrict access to the /docs/api path at the reverse proxy or web server level (for example, deny all external requests or allow only trusted IP ranges), noting that this blocks legitimate API-documentation consumers; alternatively, enable the previously commented-out RestrictDocsAccess middleware in config/scramble.php and ensure the OpenAPI document is cached via php artisan scramble:cache so repeated requests do not trigger schema regeneration-this reduces CPU impact but still exposes API details to anyone who can reach the route; finally, white-label deployments can set white_label_enabled to make the route return 404, but this is only a partial workaround for non-white-label instances.
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 a PHP-based, Laravel-driven photo-management application that uses Dedoc\Scramble to auto-generate OpenAPI documentation from application routes and controllers. The generated schema is served by the GET /docs/api route, which prior to version 7.7.0 was configured in config/scramble.php without authentication, throttling, or application-level caching. The vulnerability class is CWE-770 (Allocation of Resources Without Limits or Throttling): each request invokes the Scramble generator to rebuild the full API schema, consuming CPU without reuse. Source evidence from the fix PR shows the restricting middleware line was commented out before the patch; the fix replaces it with App\Http\Middleware\RestrictApiDocsAccess, adds a cache configuration block to config/scramble.php, and warms the OpenAPI document cache on demand. The route also exposes endpoint paths, parameters, and request/response schemas to unauthenticated callers, giving attackers a detailed map of the API surface.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Remote unauthenticated unthrottled route (AV:N/AC:L/PR:N/UI:N); API-schema exposure gives C:L and CPU exhaustion gives A:L, with no integrity impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Lychee is a free, open-source photo-management tool. Prior to 7.7.0, GET /docs/api exposes the Scramble-generated OpenAPI documentation configured by config/scramble.php to unauthenticated callers after installation, with observed response size and latency suggesting that the schema is regenerated without an application-level cache. A remote attacker can repeatedly request the unthrottled route to consume server CPU and obtain a detailed map of the API surface and parameter schema. This issue is fixed in version 7.7.0.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
Lychee photo-management instances running versions prior to 7.6.1 expose POST /api/v2/Album::unlock with no throttle, at
Denial of service in Lychee before 7.7.0 allows an authenticated user with upload/import permission to tie up image-proc
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-102195
NVD
CVE.org
EPSS
GitHub
Exploit-DB