Summary
FOSSBilling is an open source billing and client-management platform. From 0.1.0 until 0.8.9, the admin/support/note_create endpoint stores the note parameter without sanitization in the support_ticket_note table, and src/modules/Support/templates/admin/mod_support_tickets.html.twig renders each stored support ticket note through innerHTML in the admin ticket list. A staff user with only the support.manage_tickets permission can store HTML or JavaScript that executes when another staff member opens the ticket notes. The script runs with the viewing staff member's session and privileges, can read a CSRF token and accessible client or invoice data, and can perform administrative actions available to the viewer, including a Super Administrator. The ticket detail page is not affected because its Twig rendering uses autoescaping. This issue is fixed in version 0.8.9.
Remediation
References
- Referencehttps://github.com/FOSSBilling/FOSSBilling/security/advisories/GHSA-493h-fvcx-6q62
- Referencehttps://github.com/FOSSBilling/FOSSBilling/pull/4548
- Referencehttps://github.com/FOSSBilling/FOSSBilling/commit/87528920b6cb1ba6f113583253eb4d7abdd1d8c6
- Referencehttps://github.com/FOSSBilling/FOSSBilling/releases/tag/0.8.9