{"id":"CVE-2026-80210","title":"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 cal…","summary":"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 cal…","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","cwe":["CWE-352"],"published":"2026-08-27","updated":"2026-09-23","sourceUpdated":"2026-09-23T17:17:42.503","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-80210","references":[{"url":"https://github.com/FrontAccountingERP/FA","label":"disclosure@vulncheck.com"},{"url":"https://github.com/FrontAccountingERP/FA/blob/9464a3ffef03c139d9396e697bce9a0a9f131a72/includes/ui/ui_controls.inc#L89","label":"disclosure@vulncheck.com"},{"url":"https://github.com/geo-chen/oss/blob/main/FA.md#finding-1-cross-site-request-forgery-on-financial-transaction-forms-in-frontaccounting","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/frontaccounting-through-2.4.20-cross-site-request-forgery-on-financial-transaction-forms","label":"disclosure@vulncheck.com"}],"tags":["nvd"],"epss":0.00162,"epssPercentile":0.0587,"ingestedAt":"2026-09-23T17:28:14.805Z","slug":"CVE-2026-80210","body":"## Overview\n\nFrontAccounting 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}