CVE-2026-80210
FrontAccounting through 2.4.20 generates a CSRF token in end_form() in includes/ui/ui_controls.inc and embeds it as the _token hidden field in every form it renders, but only admin/users.php and admin/change_current_user_password.php call check_csrf_token() to validate it. No financial transaction handler validates the token, including gl/gl_journal.php, gl/gl_bank.php, purchasing/supplier_invoice.php, sales/customer_invoice.php, sales/customer_payments.php and admin/company_preferences.php, so those endpoints act on POST data with no origin check. An attacker who gets an authenticated user to load a page under attacker control can auto-submit a cross-origin form to any of them and have the forged journal entry, invoice, customer payment, bank transaction or company configuration change recorded under the victim's session.
- Score
- 7.1 high
- Published
- 2026-08-27
- Links
- NVD · cve.org · Report wrong data
Matched ports (1)
| Port | Package | Version | Status | Maintainer |
|---|---|---|---|---|
| finance/frontaccounting | frontaccounting | 2.4.20 | unaddressed | james@elstone.net |
Template for a VuXML entry
Range taken from the CVE record, check it before committing. make newentry in security/vuxml creates the vid.
<vuln vid="FIXME (make newentry)">
<topic>FIXME -- FIXME</topic>
<affects>
<package>
<name>frontaccounting</name>
<range><lt>FIXME</lt></range>
</package>
</affects>
<description>
<body xmlns="http://www.w3.org/1999/xhtml">
<p>FrontAccounting through 2.4.20 generates a CSRF token in end_form() in
includes/ui/ui_controls.inc and embeds it as the _token hidden field
in every form it renders, but only admin/users.php and
admin/change_current_user_password.php call check_csrf_token() to
validate it. No financial transaction handler validates the token,
including gl/gl_journal.php, gl/gl_bank.php,
purchasing/supplier_invoice.php, sales/customer_invoice.php,
sales/customer_payments.php and admin/company_preferences.php, so
those endpoints act on POST data with no origin check. An attacker who
gets an authenticated user to load a page under attacker control can
auto-submit a cross-origin form to any of them and have the forged
journal entry, invoice, customer payment, bank transaction or company
configuration change recorded under the victim's session.</p>
</body>
</description>
<references>
<cvename>CVE-2026-80210</cvename>
<url>https://nvd.nist.gov/vuln/detail/CVE-2026-80210</url>
</references>
<dates>
<discovery>2026-08-27</discovery>
<entry>2026-10-26</entry>
</dates>
</vuln>