CVE-2026-77470
8.3HighPublished 15 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Impact
- High impact on integrity
- Weakness
- CWE-20, CWE-472, CWE-915
Impact
Unauthenticated attackers can underpay for goods and trigger auto-fulfillment by manipulating payment parameters. They only need network access to an instance with an enabled webshop and an affected non-PayPal Omnipay gateway.
Root cause
The checkout service merges an untrusted additional_data array on top of server-computed purchase parameters, allowing request parameters to overwrite critical fields like amount and currency.
Affected systems
Lychee prior to 7.7.1
CVSS v4.0 · CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Fix & remediation
Upgrade to Lychee 7.7.1 or later. If patching immediately is not possible, disable the webshop feature or avoid using non-PayPal Omnipay payment gateways.
$ git pull && composer install --no-devAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
Lychee is a free, open-source photo-management tool. Prior to 7.7.1, the Supporter or Pro webshop POST /api/v2/Shop/Checkout/Process flow accepts an unrestricted additional_data array and CheckoutService::preparePurchaseParameters() merges it after server-computed purchase parameters. Because later string keys overwrite earlier keys, an unauthenticated buyer can replace amount, currency, returnUrl, cancelUrl, or transactionId before CheckoutService::processPayment() passes the parameters to a non-PayPal Omnipay gateway. An attacker can therefore make a gateway accept a successful payment for an attacker-selected amount and obtain auto-fulfilled goods while underpaying the merchant. The issue requires an enabled webshop, a purchasable item, and an affected Omnipay gateway. This issue is fixed in version 7.7.1.
References
- https://github.com/LycheeOrg/Lychee/commit/24e6e11f1da131ed20b192d7d7b7ca9084451a2f
- https://github.com/LycheeOrg/Lychee/pull/4514
- https://github.com/LycheeOrg/Lychee/releases/tag/v7.7.1
- https://github.com/LycheeOrg/Lychee/security/advisories/GHSA-476v-jr53-8rxc
- https://github.com/LycheeOrg/Lychee/security/advisories/GHSA-476v-jr53-8rxc