Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

2815+ Articles
167+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-90566: Privilege Escalation via Unvalidated usertype in inventory-management-system
CVE-2026-90566: Privilege Escalation via Unvalidated usertype in inventory-management-system
SECURITYHIGHCVE-2026-90566

CVE-2026-90566: Privilege Escalation via Unvalidated usertype in inventory-management-system

A CVSS 7.3 flaw in Rizwan17's inventory-management-system lets attackers set a privileged usertype during registration, escalating to admin access.

Dylan H.

Security Team

September 14, 2026
5 min read

Affected Products

  • Rizwan17 inventory-management-system (GitHub) — up to commit bfe78a3

Overview

A privilege-escalation vulnerability has been disclosed in inventory-management-system, an open-source PHP inventory management application maintained by GitHub user Rizwan17. Tracked as CVE-2026-90566, the flaw sits in the account-registration flow: the createUserAccount function inside register.php — part of the application's Registration Handler component — trusts a client-supplied usertype parameter without validating it against the current user's actual privilege level.

In practice, this means anyone able to reach the public registration endpoint can submit a value such as admin (or another privileged role) in the usertype field and have the application create an account with that elevated role from the moment it's created — no prior authentication, approval step, or separate escalation action required.

The issue was publicly disclosed on September 13, 2026, and affects the project up to commit bfe78a330d01bb26b9daec5dc9ecd5c77900e03f.


Technical Details

FieldValue
CVE IDCVE-2026-90566
ComponentRegistration Handler (register.php)
FunctioncreateUserAccount
Vulnerable Parameterusertype
Vulnerability TypeImproper Authorization / Privilege Escalation
Likely CWECWE-269 (Improper Privilege Assignment), related to CWE-862 (Missing Authorization)
CVSS Score7.3 (High)
Attack VectorNetwork, no authentication required to reach the registration endpoint
Public ExploitReported as publicly available
Patch StatusNo official fix confirmed at time of writing

How It Works

The registration handler accepts a usertype field submitted by the client and passes it through to account creation with little or no server-side check that the requester is actually authorized to assign that role. Because the application's normal registration workflow is intended for unauthenticated, self-service sign-up, an attacker can simply modify the submitted form data — for example, changing usertype=user to usertype=admin in the HTTP request — and receive an account provisioned with administrative or otherwise elevated permissions.

This class of bug is sometimes described as "mass assignment" or "unrestricted parameter" privilege escalation: the server trusts a field the client should never be allowed to set directly, and there is no secondary authorization check (such as requiring an existing administrator to approve or assign elevated roles) before the privilege takes effect.


Impact Assessment

Successful exploitation gives an attacker a fully functional account with elevated privileges inside the target inventory-management-system deployment — potentially administrative control over inventory records, user management, and any other functionality gated behind the admin/privileged usertype value. Depending on how the application is deployed, that could extend to modifying stock records, viewing other users' data, or creating additional privileged accounts.

It's worth being precise about scope here: this is a niche, low-adoption open-source project, not a widely deployed enterprise platform. The practical blast radius is limited to organizations that have specifically adopted this particular Rizwan17 codebase for inventory management and exposed its registration endpoint to untrusted users. That said, for anyone running this software, the impact of an unauthenticated path to admin-level access is serious — hence the CVSS 7.3 (High) rating — and it's a useful reminder of a broader, very common class of bug in home-grown and small-team PHP applications: trusting role/permission fields that arrive from the client.


Affected Versions

ProjectAffectedFixed
Rizwan17 / inventory-management-systemUp to commit bfe78a330d01bb26b9daec5dc9ecd5c77900e03fNot yet published

The project appears to use continuous, rolling commits rather than tagged releases, so there is no discrete "vulnerable version number" — only the commit hash referenced in the advisory. As of publication, the maintainer has reportedly been notified via an issue report but has not yet responded or shipped a fix.

A related finding, CVE-2026-90565, was disclosed against the same project's dashboard.php around the same time, involving improper access control via a manipulated userid argument. If you run this codebase, treat both as part of the same broader "trust the client's identity/role claims" pattern and review the whole authorization layer, not just the registration path.


Mitigation

Because no official patch is confirmed yet, treat the following as compensating controls until the maintainer ships a fix:

  • Do not expose the registration endpoint to untrusted networks if it isn't strictly needed — restrict register.php to trusted/internal access, or place it behind an authentication proxy.
  • Patch the code directly if you're self-hosting: strip or hard-code the usertype value server-side for public self-registration (e.g., always assign the lowest-privilege role), and require an explicit, separately-authorized step for any account to become admin.
  • Audit existing accounts for any user records with an unexpectedly privileged usertype that weren't provisioned through an approved process.
  • Monitor the upstream repository for a fix commit or release and apply it promptly once available.
  • General guidance: never trust a role, permission level, or usertype-style field submitted directly by the client during self-service registration — assign privileges server-side, based on server-controlled logic, not user input.

Sources

  • NVD — CVE-2026-90566
#CVE-2026-90566#NVD#Privilege Escalation#Improper Authorization#PHP#Open Source

Related Articles

CVE-2026-10236: Improper Authorization in SourceCodester Water Billing Management System

A remotely exploitable improper authorization vulnerability in the SourceCodester Water Billing Management System 1.0 allows unauthenticated attackers to…

5 min read

CVE-2026-3734: Improper Authorization in SourceCodester

A remotely exploitable improper authorization vulnerability has been disclosed in SourceCodester Client Database Management System 1.0, allowing...

5 min read

Privilege Escalation via Role Manipulation in Online Exam LMS (CVE-2026-14719)

A high-severity improper privilege management flaw in SourceCodester's Online Examination and Learning Management System 1.0 allows remote attackers to...

3 min read
Back to all Security Alerts