PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-16772 Akaunting CVE debrief

In Akaunting versions <= 3.1.21, a low-privileged authenticated user can modify their own account to assign themselves the admin role ID, granting full administrator privileges due to a flaw in the `UpdateUser` job. This vulnerability allows users with the default `update-auth-profile` permission to access the self-update path and assign themselves as admins. Organizations should verify and limit user role assignments to prevent unauthorized role elevation.

Vendor
Akaunting
Product
Akaunting
CVSS
HIGH 8.1
CISA KEV
Not listed in stored evidence
Original CVE published
2026-08-14
Original CVE updated
2026-09-03
Advisory published
2026-08-14
Advisory updated
2026-09-03

Who should care

Organizations using Akaunting versions <= 3.1.21, especially those with low-privileged authenticated users, should verify and limit user role assignments to prevent unauthorized role elevation. This is crucial for organizations with multiple users and roles, as it can help prevent insider threats and maintain the security of their systems. Additionally, security teams and vulnerability management teams should be aware of this vulnerability and take necessary steps to mitigate it. Affected operators and platforms should also take note of this vulnerability and review their systems for potential exposure. Security teams should review compensating controls for exposed systems while remediation is scheduled and verified, and track exceptions, retest remediated assets, and close the item only after evidence is documented. IT teams managing user accounts and roles should also prioritize this vulnerability and implement necessary changes to prevent exploitation. Lastly, organizations should ensure proper permission gating for role updates and monitor user account changes and role assignments to detect potential security incidents. Review and update the `UpdateUser` job to verify caller authorization for role management, and implement compensating controls to detect and prevent unauthorized role elevation. Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up. Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed. Check relevant monitoring, detection, and logs for exposed assets that need extra review. Track exceptions, retest remediated assets, and close the item only after evidence is documented. Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance. Ensure proper permission gating for role updates and monitor user account changes and role assignments to detect potential security incidents. Implement compensating controls to detect and prevent unauthorized role elevation, and review and update the `UpdateUser` job to verify caller authorization for role management. Review compensating controls for exposed and

Technical summary

The vulnerability in Akaunting versions <= 3.1.21 is caused by an unconditional `roles()->sync()` call in the `UpdateUser` job, which processes user-supplied role assignments without verifying whether the caller is authorized to manage roles. Low-privileged authenticated users can exploit this flaw to assign themselves the admin role ID, granting full administrator privileges. Users only require the default `update-auth-profile` permission to access the self-update path.

Defensive priority

Organizations using Akaunting versions <= 3.1.21 should verify and limit user role assignments, especially for low-privileged authenticated users, and ensure proper permission gating.

Recommended defensive actions

  • Verify and limit user role assignments, especially for low-privileged authenticated users
  • Ensure proper permission gating for role updates
  • Monitor user account changes and role assignments
  • Implement compensating controls to detect and prevent unauthorized role elevation
  • Review and update the `UpdateUser` job to verify caller authorization for role management

Evidence notes

The vulnerability is caused by a flaw in the `UpdateUser` job, which processes user-supplied role assignments via an unconditional `roles()->sync()` call without verifying whether the caller is authorized to manage roles. Users only require the default `update-auth-profile` permission to access the self-update path and assign themselves as admins.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-16772 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-16772

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-16772 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-16772

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.