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.
Published: 2026-08-14
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Akaunting versions up to 3.1.21 allow any authenticated user with the default update‑auth‑profile permission to set their own role to admin by calling the UpdateUser job. The job unconditionally synchronizes the supplied roles without checking the caller's authorization, enabling privilege escalation. This flaw is an access‑control weakness, corresponding to two privilege‑management errors and a data‑level privilege weakness. The attacker can then perform all actions available to an administrator, potentially altering data, configuration, and other users' permissions.

Affected Systems

The vulnerability affects Akaunting, version 3.1.21 and earlier. Users of these releases that have the update‑auth‑profile permission are at risk.

Risk and Exploitability

The flaw is not listed in CISA’s KEV catalog and no EPSS score is published. The CVSS score of 8.1 categorizes this as high severity. However, because it requires only low‑privileged authentication, the attack surface is significant for any compromised internal account. Exploitation is straightforward: a user simply edits their own profile to set the administrator role ID. Attacker reach is limited to users who can log into the system, so the risk is high within the affected tenant but does not enable remote code execution on the hosting environment.

Generated by OpenCVE AI on August 14, 2026 at 23:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to the latest official Akaunting release that rectifies the role assignment check (e.g., v3.1.22 or later).
  • Restrict the update‑auth‑profile permission to trusted administrators by removing it from normal user groups.
  • Review and harden role‑management code to validate the caller’s authority before executing sync, and enable audit logging for role changes.

Generated by OpenCVE AI on August 14, 2026 at 23:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Subscriptions

Akaunting Akaunting
cve-icon MITRE

Status: PUBLISHED

Assigner: certcc

Published:

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

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-03T17:45:20.840

Link: CVE-2026-16772

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses