In Akaunting versions <= 3.1.21, low‑privileged authenticated users can modify their own account to assign themselves the admin role ID, granting full administrator privileges. This 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. The API endpoints are properly permission‑gated and are not affected by this issue. This vulnerability has been remediated in v3.2.0, commit 80ef6d3b154a.

Project Subscriptions

Vendors Products
Akaunting Subscribe
Akaunting Subscribe
Advisories

No advisories yet.

Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Mon, 14 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Description In Akaunting versions <= 3.1.21, low‑privileged authenticated users can modify their own account to assign themselves the admin role ID, granting full administrator privileges. This 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. The API endpoints are properly permission‑gated and are not affected by this issue. In Akaunting versions <= 3.1.21, low‑privileged authenticated users can modify their own account to assign themselves the admin role ID, granting full administrator privileges. This 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. The API endpoints are properly permission‑gated and are not affected by this issue. This vulnerability has been remediated in v3.2.0, commit 80ef6d3b154a.

Fri, 14 Aug 2026 22:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-284

Fri, 14 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-269
CWE-862
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 14 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Akaunting
Akaunting akaunting
Weaknesses CWE-284
Vendors & Products Akaunting
Akaunting akaunting

Fri, 14 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description In Akaunting versions <= 3.1.21, low‑privileged authenticated users can modify their own account to assign themselves the admin role ID, granting full administrator privileges. This 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. The API endpoints are properly permission‑gated and are not affected by this issue.
Title CVE-2026-16772
References

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: certcc

Published:

Updated: 2026-09-14T21:22:11.702Z

Reserved: 2026-07-23T16:56:04.052Z

Link: CVE-2026-16772

cve-icon Vulnrichment

Updated: 2026-08-14T19:48:48.203Z

cve-icon NVD

Status : Deferred

Published: 2026-08-14T16:16:50.290

Modified: 2026-09-14T22:16:57.260

Link: CVE-2026-16772

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T23:30:03Z

Weaknesses