Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliveryPOST crafted JSON to /api/auth/edituser/
-
ExploitInclude is_superuser: true in request body
-
ExecutionDjango serializer accepts writable field
-
ImpactAccount escalated to superuser
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V4 - API and Web Service Object attribute protection
|
| Exploitation Conditions | APTRS versions prior to 2.0.1. Requires authenticated user access to the POST /api/auth/edituser/<pk> endpoint. Attacker with any valid account can escalate their own or any other user account to superuser by submitting is_superuser: true in request body. |
| Impact | This vulnerability presents critical real-world risk despite the lack of a CVSS vector in available data. Attack vector is NETWORK (POST request to an HTTP endpoint), and attack complexity is LOW (no special conditions required). The privilege escalation is immediate and unrestricted-any user, including unauthenticated users if the endpoint is accessible without authentication, can grant themselves full superuser privileges. The absence of CVSS data is offset by clear exploitation mechanics: the vulnerability is a logic flaw in application code, not a complex cryptographic or memory-safety issue. No EPSS probability is available, but the trivial nature of the exploit (adding one JSON field to a standard HTTP request) strongly suggests high exploitation probability. The fact that a patch was released in version 2.0.1 confirms vendor validation of the severity. SSVC assessment: Exploitation status is UNCONTESTED (code flaw with no mitigation bypass required), automatable via any HTTP client, and technical impact is TOTAL (complete administrative compromise of the application). |
| Exploit ScenarioDerived | An attacker with any user account on an APTRS instance (or without authentication if the endpoint is publicly accessible) sends a POST request to /api/auth/edituser/<user_pk> with JSON body containing is_superuser: true. The CustomUserSerializer accepts the field, the edit_user view does not validate it, and the superuser flag is immediately set on the target account. The attacker then gains full administrative access to the application without requiring re-authentication or additional privilege escalation steps. Attack requires only a basic HTTP client and knowledge of the endpoint structure. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 31, 2026
Privilege escalation in APTRS (Automated Penetration Testing Reporting System) prior to version 2.0.1 allows any user to escalate their own account or modify any other user account to superuser status by submitting a crafted POST request to /api/auth/edituser/<pk> with an is_superuser field set to true. The CustomUserSerializer fails to mark is_superuser as read-only despite including it in serializer fields, and the edit_user view lacks validation to prevent non-superusers from modifying this critical field. No public exploit code or active exploitation has been identified at time of analysis, but the vulnerability is trivial to exploit given basic HTTP client access to the endpoint.
RemediationAI
Upgrade APTRS to version 2.0.1 or later, which includes a fix committed at https://github.com/APTRS/APTRS/commit/d1f1b3a5d1953082af8e075712ca29742e900d56. The patch adds is_superuser to the read_only_fields list in CustomUserSerializer and implements view-level permission validation to prevent non-superusers from modifying the is_superuser attribute on any user account. Immediate patched version 2.0.1 is available at https://github.com/APTRS/APTRS/releases/tag/2.0.1. Until patching is completed, restrict network access to the /api/auth/edituser/ endpoint using a web application firewall or reverse proxy to limit reach to authenticated users only, though this does not eliminate the underlying privilege escalation risk.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
APTRS is a Django REST Framework-based application using a CustomUserSerializer to handle user account modifications. The vulnerability stems from improper serializer configuration in Django REST Framework, specifically the Django ORM permission model. CWE-915 (Improperly Controlled Modification of Dynamically-Determined Object Attributes) describes the root cause: the serializer explicitly lists is_superuser in its fields but fails to designate it as read_only_fields, rendering it writable by any authenticated or unauthenticated user who can reach the endpoint. The Django User model's is_superuser field is typically a boolean flag that grants unrestricted administrative access to the application. The edit_user view (POST /api/auth/edituser/<pk>) processes serializer validation without additional permission checks specific to the is_superuser attribute, allowing direct attribute modification via REST API.
Know when Aptrs gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
APTRS (Automated Penetration Testing Reporting System) is a Python and Django-based automated reporting tool designed for penetration testers and security organizations. Prior to version 2.0.1, the edit_user endpoint (POST /api/auth/edituser/<pk>) allows Any user who can reach that endpoint and submit crafted permission to escalate their own account (or any other account) to superuser by including "is_superuser": true in the request body. The root cause is that CustomUserSerializer explicitly includes is_superuser in its fields list but omits it from read_only_fields, making it a writable field. The edit_user view performs no additional validation to prevent non-superusers from modifying this field. Once is_superuser is set to true, gaining unrestricted access to all application functionality without requiring re-authentication. This issue has been patched in version 2.0.1.
Executive ViewAI
APTRS (Automated Penetration Testing Reporting System) versions prior to 2.0.1 contain a critical privilege escalation flaw that allows any user to grant themselves or others superuser access through a simple API request, potentially compromising the entire penetration testing workflow and sensitive security assessment data. This vulnerability requires immediate patching to prevent unauthorized administrative access to your security testing infrastructure.
Apply vendor patch. If immediate patching is impossible: implement network-level access controls restricting /api/auth/edituser/ endpoint to superuser IP ranges only; monitor API logs for POST requests to this endpoint containing is_superuser field modifications; disable the endpoint entirely if not actively required for operations pending upgrade to 2.0.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
EUVD-2026-17671
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB