CVE-2026-118855 PUBLISHED

Akaunting 3.3.0 - Stored XSS in invoice edit form through imported status

Assigner: Fluid Attacks
Reserved: 28.10.2026 Published: 12.11.2026 Updated: 12.11.2026

Akaunting 3.3.0 contains a stored cross-site scripting vulnerability through invoice import. An authenticated user with invoice-creation permission can import HTML in an invoice status field. When another authenticated user opens that invoice's edit form, Akaunting renders the stored status in a hidden input with raw Blade output, allowing attacker-controlled markup to execute in the victim's Akaunting origin.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:A/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N
CVSS Score: 7

Product Status

Vendor Akaunting
Product Akaunting
Versions Default: affected
  • Version 3.3.0 is affected

Workarounds

Restrict invoice-import permission to trusted users and do not open edit pages for invoices imported from untrusted sources. Remove document rows whose status is not a supported state identifier. These measures are temporary and do not replace output encoding.

Solutions

Restore a strict allowlist for invoice statuses during normal and spreadsheet-import validation, and change the hidden-input component to encode its value in attribute context. Upgrade to the vendor-fixed release once one is published.

Credits

  • Fluid Attacks' AI SAST Scanner finder
  • Miguel Gómez finder

References

Problem Types

  • CWE-79 Improper neutralization of input during web page generation ('cross-site scripting') CWE

Impacts

  • CAPEC-592 Stored XSS