Executive brief
FOSSBilling, an open-source billing and client management platform, contains a flaw in how it processes PayPal payments. A customer can intentionally underpay an invoice by a small amount (up to $0.04), and the system will still mark the invoice as fully paid. While the loss per transaction is minor, this could lead to measurable financial losses if exploited repeatedly across many automated subscriptions or invoices.
Technical details
The vulnerability exists in the PayPalEmail payment adapter (src/library/Payment/Adapter/PayPalEmail.php) and the invoice credit-payment logic (src/modules/Invoice/Service.php). The adapter accepts PayPal Instant Payment Notification (IPN) callbacks and credits the 'mc_gross' amount to a user's balance without verifying it against the actual invoice total. When combined with a $0.05 floating-point epsilon tolerance used in the 'tryPayWithCredits' function, a user can pay $0.04 less than required and the system will treat the invoice as settled. This is exploitable by any registered user making a payment via PayPal. The issue is resolved in version 0.8.0.
Affected products
- FOSSBilling FOSSBilling < 0.8.0
Timeline
- 2026-06-04: advisory: GitHub Security Advisory published
- 2026-07-06: disclosed: CVE published to NVD