Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
ExploitSubmit Save request with elevated role_id
-
ExecutionServer applies role without authz check
-
ImpactAccount escalated to admin privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated session against the CodeAstro QR Code Attendance Management System 1.0 web interface and the ability to reach the UserController Save action (the user create/edit save flow). The exploit works by supplying an attacker-chosen role_id in that request; no user interaction from a victim is needed (UI:N) and it is exploitable remotely over the network (AV:N, AC:L). Limiting factors: an account/login on the target instance is needed (this is not unauthenticated), the vulnerability is confined to a single, obscure open-source PHP application at version 1.0, and impact is bounded to Low across confidentiality/integrity/availability per the vendor vector. |
| Impact | This is a modest-risk authenticated privilege-escalation issue that the raw numbers already reflect. The vendor CVSS 4.0 base of 5.1 (medium) uses PR:H with only Low impacts across VC/VI/VA and subsequent-system metrics, and SSVC exploit maturity is 'Proof-of-Concept' (E:P). A public POC exists (GitHub Witiers/CVEs issue #4) but there is NO CISA KEV listing and NO EPSS score in the provided data, so exploitation status is 'publicly available exploit code exists' - not active exploitation. The one internal tension is the privilege metric: the flaw IS privilege escalation via manipulating role_id in a user-save routine, so the attacker is typically a lower-privileged authenticated user rather than a high-privileged one; I assess PR:L rather than the vendor's PR:H, which if anything slightly raises the technical severity but does not change the medium tier. Combined with a rare, hobby-grade product footprint, this is a low-priority issue for most defenders: real but not urgent, driven by POC availability rather than any evidence of widespread or automated exploitation. |
| Exploit ScenarioDerived | An authenticated user of the attendance system submits a crafted request to the UserController Save endpoint including a role_id value pointing to a higher-privileged role (e.g. admin). Because the Save function applies the supplied role_id without an authorization check, the account is elevated and the attacker gains administrative control. A public proof-of-concept for this parameter manipulation is available on GitHub. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 20, 2026
Authenticated privilege escalation in CodeAstro QR Code Attendance Management System 1.0 lets a logged-in, low-privileged user manipulate the role_id argument in the UserController Save action to assign elevated roles, up to administrator, to any account they control. The flaw is an improper privilege management weakness (CWE-269) exposed through the PHP web interface, and publicly available exploit code exists (a GitHub proof-of-concept), though there is no CISA KEV entry confirming active exploitation. Severity is modest and consistent with the raw numbers: vendor CVSS 5.1 with low confidentiality, integrity and availability impact, and independently assessed as requiring an authenticated session (PR:L) against this single, obscure application at version 1.0.
RemediationAI
No vendor-released patch identified at time of analysis: the available references are advisory, submission, and vendor-site links (https://vuldb.com/vuln/407977 , https://vuldb.com/cve/CVE-2026-94048 , https://codeastro.com/ ) rather than a tagged fixed release, so no exact fix version can be cited and the patches/upgrade path remain unconfirmed. Until upstream ships a fix, apply compensating controls. First, enforce server-side authorization in UserController::Save by whitelisting acceptable role_id values and checking the acting session's privilege before any role change; this closes the root cause but requires code modification and redeployment because the fix is not vendor-supplied. Second, restrict network access to the user create/edit save route with a reverse-proxy rule, web-server ACL, or IP allowlist limited to trusted administrative networks; the trade-off is that legitimate remote user administration stops working and must be performed from approved locations. Third, disable or disable-by-default any self-service account creation or role-assignment feature exposed by the application; the trade-off is that onboarding and role changes become manual administrative tasks. Fourth, audit all existing accounts for unexpected elevated roles, revert any role assignments that cannot be justified, and rotate credentials for affected accounts. Fifth, monitor web and application logs for POST requests to the user-management save route carrying anomalous role_id values, since the public exploit code (https://github.com/Witiers/CVEs/issues/4) lowers the effort required for opportunistic abuse and exploitation is authenticated but remote and requires no victim interaction.
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
The affected software is a PHP web application laid out in a CodeIgniter 4-style MVC structure (app/Controllers/, app/Models/), used to track attendance via QR codes; UserController::Save handles user create/update submissions from the administrative user-management page. The handler reads the role_id parameter straight from the HTTP request body/query and persists it to the user record without verifying that the acting session is authorized to assign the requested role, or that the submitted value belongs to an allowed role set. That is the textbook CWE-269 improper privilege management pattern: the application derives authority from client-supplied data rather than from server-side session state, so any authenticated actor who can reach the save action can write an administrative role value and obtain privileges they were never granted. The CPE entry cpe:2.3:a:codeastro:qr_code_attendance_management_system:(wildcard) confirms the vendor/product pairing while the advisory pins the observed instance at version 1.0; the supplied tags (PHP, Privilege Escalation, Qr Code Attendance Management System) align with this reading. Reachability is network-based (AV:N, AC:L) with no victim interaction (UI:N); the actor must already hold a valid session on the target instance (PR:L per the independent assessment, versus PR:H in the vendor CVSS 4.0 vector), and the resulting impact is bounded to Low across confidentiality, integrity and availability.
Know when Qr Code Attendance Management System 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:H/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L/E:P
Remote, low-complexity, no user interaction; PR:L because escalation starts from a low-privileged authenticated account, with modest Low impacts consistent with the vendor's scoring.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in CodeAstro QR Code Attendance Management System 1.0. This affects the function Save of the file app/Controllers/UserController.php. The manipulation of the argument role_id results in improper privilege management. The attack can be executed remotely. The exploit is now public and may be used.
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-83782
GHSA-hjqg-qj3w-x2h2
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB