CVE-2026-55521

CVE-2026-55521 is a high-severity missing authorization vulnerability in org.yamcs:yamcs-core (maven), affecting versions >= 5.13.0, <= 5.13.1. It is fixed in 5.13.2, 5.12.8.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

Yamcs Core API has Multiple Missing Function Level Access Control vulnerabilities

Multiple Missing Function Level Access Control vulnerabilities exist in the Yamcs Core API. These vulnerabilities allow any authenticated user, regardless of their assigned roles or privileges (e.g., an unprivileged "Guest"), to bypass intended access controls. An attacker can exploit these flaws to extract sensitive telemetry metadata, disrupt satellite communication link protocols (COP-1), and manipulate the global simulation time, severely impacting the confidentiality, integrity, and availability of the system.

Details

Yamcs utilizes a robust Role-Based Access Control (RBAC) model with SystemPrivilege and ObjectPrivilege to restrict administrative actions and data retrieval. However, three critical API controllers completely omit these authorization checks before executing internal business logic:

  1. IndexesApi.java (Information Disclosure): Unlike PacketsApi.java, which filters results using ctx.user.hasObjectPrivilege(ObjectPrivilegeType.ReadPacket, packetName), methods in IndexesApi (such as listPacketIndex and listEventIndex) directly retrieve and return archive records from the CcsdsTmIndex without verifying if the user has the required Object Privileges.
  2. Cop1Api.java (Denial of Service / Integrity): Modifying the COP-1 telecommand protocol state is an administrative action requiring SystemPrivilege.ControlLinks. However, endpoints in Cop1Api (e.g., disable, resume, initialize, updateConfig) process link state alterations without calling ctx.checkSystemPrivilege(...).
  3. TimeApi.java (Denial of Service / Integrity): The setTime method allows modification of the global SimulationTimeService (affecting all processors, telemetry, and tests in that instance). This endpoint fails to assert any system privileges before applying the requested simulation speed or time jumps.

PoC

Prerequisite: Obtain valid credentials for a completely unprivileged user (e.g., user_without_priv:password with no roles assigned).

PoC 1: Extracting Packet Indexes (IndexesApi)

curl -s -X GET "http://localhost:8090/api/archive/simulator/packet-index" \
     -u "user_without_priv:password"

Result: Returns HTTP 200 OK with a full JSON array of packet indexes, bypassing Object Privilege checks and leaking system metadata.

PoC 2: Disabling COP-1 Protocol (Cop1Api)

curl -s -X POST "http://localhost:8090/api/cop1/simulator/tc_sim:disable" \
     -u "user_without_priv:password" \
     -H "Content-Type: application/json" -d '{}'

Result: The server processes the request past the authorization layer. Depending on the link configuration, it will either successfully disable COP-1 or return 400 BadRequestException confirming the link does not support COP-1. The absence of a 403 Forbidden confirms the authorization bypass.

PoC 3: Manipulating Simulation Time (TimeApi)

curl -s -X POST "http://localhost:8090/api/instances/simulator:setTime" \
     -u "user_without_priv:password" \
     -H "Content-Type: application/json" -d '{"speed": 10.0}'

Result: The server processes the request past the authorization layer. It changes the global simulation speed if the service is active, or returns 400 BadRequestException: Cannot set time for a non-simulation TimeService. The absence of a 403 Forbidden confirms the authorization bypass.

PoC Images:

  • Check user permission
  • Check admin permission and access API:
  • Check user no permission - get response same with user admin:

Impact

The vulnerability impacts instances of Yamcs exposing the REST API.

  • Confidentiality: Unprivileged users can enumerate all historical telemetry packet and event metadata.
  • Integrity & Availability: Attackers can disable critical satellite telecommand protocols (COP-1) causing command transmission failures. They can also manipulate the global simulation time, disrupting processors, automated tests, and all other users relying on the simulation environment.

The application does not perform an authorization check before performing a sensitive operation. Typical impact: unauthorized access to restricted functionality or data.

CVE-2026-55521 has a CVSS score of 8.8 (High). The vector is network-reachable, low privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (5.13.2, 5.12.8); upgrading removes the vulnerable code path.

Affected versions

org.yamcs:yamcs-core (>= 5.13.0, <= 5.13.1) org.yamcs:yamcs-core (<= 5.12.7)

Security releases

org.yamcs:yamcs-core → 5.13.2 (maven) org.yamcs:yamcs-core → 5.12.8 (maven)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

Upgrade the following packages to resolve this vulnerability:

org.yamcs:yamcs-core to 5.13.2 or later; org.yamcs:yamcs-core to 5.12.8 or later

Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.

Frequently Asked Questions

  1. What is CVE-2026-55521? CVE-2026-55521 is a high-severity missing authorization vulnerability in org.yamcs:yamcs-core (maven), affecting versions >= 5.13.0, <= 5.13.1. It is fixed in 5.13.2, 5.12.8. The application does not perform an authorization check before performing a sensitive operation.
  2. How severe is CVE-2026-55521? CVE-2026-55521 has a CVSS score of 8.8 (High). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which versions of org.yamcs:yamcs-core are affected by CVE-2026-55521? org.yamcs:yamcs-core (maven) versions >= 5.13.0, <= 5.13.1 is affected.
  4. Is there a fix for CVE-2026-55521? Yes. CVE-2026-55521 is fixed in 5.13.2, 5.12.8. Upgrade to this version or later.
  5. Is CVE-2026-55521 exploitable, and should I be worried? Whether CVE-2026-55521 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether CVE-2026-55521 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix CVE-2026-55521?
    • Upgrade org.yamcs:yamcs-core to 5.13.2 or later
    • Upgrade org.yamcs:yamcs-core to 5.12.8 or later

Other vulnerabilities in org.yamcs:yamcs-core

Stop the waste.
Protect your environment with Kodem.