InvoiceShelf trusts client-supplied document totals
What fixes it
- 2.4.0InvoiceShelf/InvoiceShelf, actionsGitHub
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.4.0, InvoiceShelf invoice, estimate, and recurring-invoice creation paths accept client-supplied total, sub_total, tax, discount_val, and due_amount values without verifying that they match the submitted line items. An authenticated user can persist manipulated financial totals through InvoicesRequest::getInvoicePayload and the corresponding EstimatesRequest and RecurringInvoiceRequest handlers, causing stored document totals to disagree with their item prices and quantities. This issue is fixed in version 2.4.0.
Text from CVE List
Affected versions 2
- InvoiceShelfaffected: < 2.4.0CVE List
- InvoiceShelf/InvoiceShelf, actions< 2.4.0GitHub
References 4
- github.com/InvoiceShelf/InvoiceShelf/commit/107a951126b606880a8f4838a88cdff707ee619bFixvia CVE List
- github.com/InvoiceShelf/InvoiceShelf/releases/tag/2.4.0Fixvia CVE List
- github.com/InvoiceShelf/InvoiceShelf/security/advisories/GHSA-8c69-ch98-87r6Advisoryvia CVE List
- github.com/InvoiceShelf/InvoiceShelf/pull/665Referencevia CVE List