GHSA-fwww-cp23-7f5g

Yamcs's WebSocket subscription handlers omit the privilege checks their REST siblings enforce

En bref

Publiée
Mise à jour
CVE
CVE-2026-55545
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Description

**Asset / scope:** Yamcs 5.12.7 WebSocket topics (`packets`, `algorithm-status`, `mdb-changes`) ## Summary Several WebSocket subscription handlers do not perform the privilege check that their REST counterparts enforce, so a principal subscribing over WebSocket receives data the REST API would have scoped or denied. ## Root cause - `packets` (`PacketsApi.subscribePackets`) performs no `ReadPacket` check, while the REST siblings do (`listPackets:128`, `streamPackets:256`, `subscribeContainers:538`). A principal with a narrow `ReadPacket` scope receives the raw binary of all TM packets on the processor. - `algorithm-status` (`ProcessingApi.subscribeAlgorithmStatus`) performs no check, while REST `getAlgorithmStatus` enforces `checkObjectPrivileges(ReadAlgorithm, ...)` (`:467`). - `mdb-changes` (`MdbOverrideApi.subscribeMdbChanges`) performs no check, while base MDB reads require `GetMissionDatabase`. ## Remediation Bring each WebSocket subscription handler to parity with its REST sibling's privilege check (`ReadPacket`, `ReadAlgorithm`, `GetMissionDatabase`). This is the same declarative fail-closed fix as Report 1. ## Supporting material Subsystem source audit of the WS-vs-REST authorization parity. Available on request. -- ## Disclosure and credit This was found by Cipher / Causal Security - https://causalsecurity.com/. We are coordinating disclosure via this report and request CVEs where you agree they qualify. We propose the 90-day window stated in your security policy. We might publish a write-up after a fix and the agreed window.

Paquets affectés

PaquetVersions
Maven · org.yamcs:yamcs-coreintroduced 0, fixed 5.12.8
Maven · org.yamcs:yamcs-coreintroduced 5.13.0, fixed 5.13.2

Références

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database