CVE-2026-77470
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.
- CVSS 4.0
- 8.3
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 - EPSS
- 0.5% chance of exploitation in the next 30 days; higher than 38% of CVEs (scores of 2026-10-25)
- CWEs
- CWE-20, CWE-472, CWE-915
- Published
- Modified
- Record from
- the NVD, synced
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