CVE-2026-40882 is a high-severity XML external entity injection (XXE) vulnerability in io.openremote:openremote-manager (maven), affecting versions <= 1.21.0. It is fixed in 1.22.0.
Summary The Velbus asset import path parses attacker-controlled XML without explicit XXE hardening. An authenticated user who can call the import endpoint may trigger XML external entity processing, which can lead to server-side file disclosure and SSRF. The target file must be less than 1023 characters. Details Velbus import uses DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(...) on untrusted XML input, without explicit safeguards to disable DTD/external entities. Expanded Caption content is propagated into created asset names: PoC Log in to a realm with a user that can call Velbus asset import. Create/select a Velbus TCP Agent in that same realm. Send POST /api/{realm}/agent/assetImport/{agentId} with a Velbus project XML payload and compare behavior against a baseline import file. Save the below code as a xxe.xml and upload to Setup under https://localhost/manager/?realm=<YOURREALM>#/assets/false/<ASSETID>. Chnage the file:///etc/passwd to another file if your passwd is longer than 1023 characters. As long as the file content is under 1023 characters, the exploit will succeed. <img width="1200" height="662" alt="image" src="https://github.com/user-attachments/assets/213f063d-98b6-4717-b98c-f4255952026b" /> If the file content reaches the limit, an error is thrown. <img width="1200" height="630" alt="image" src="https://github.com/user-attachments/assets/ee177a6b-2cb2-48ae-94df-c994ecb41429" /> Impact Type: XML External Entity (XXE) Affected: Deployments exposing Velbus import to authenticated users with import access Risk: limited local file disclosure (as long as the file is under 1023 characters) from the Manager runtime, and SSRF.
An XML parser processes external entity references in untrusted input, causing the server to fetch internal resources or remote URLs. Typical impact: local file disclosure, server-side request forgery, or denial of service.
CVE-2026-40882 has a CVSS score of 7.6 (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 (1.22.0). Upgrading removes the vulnerable code path.
maven
io.openremote:openremote-manager (<= 1.21.0)io.openremote:openremote-manager → 1.22.0 (maven)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 instead of chasing every advisory.
Kodem's runtime-powered SCA identifies whether CVE-2026-40882 is reachable in your applications. Explore open-source security for your team.
See if CVE-2026-40882 is reachable in your applications. Get a demo
Already deployed Kodem? See CVE-2026-40882 in your environment →Upgrade io.openremote:openremote-manager to 1.22.0 or later to resolve this vulnerability.
Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.
CVE-2026-40882 is a high-severity XML external entity injection (XXE) vulnerability in io.openremote:openremote-manager (maven), affecting versions <= 1.21.0. It is fixed in 1.22.0. An XML parser processes external entity references in untrusted input, causing the server to fetch internal resources or remote URLs.
CVE-2026-40882 has a CVSS score of 7.6 (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.
io.openremote:openremote-manager (maven) versions <= 1.21.0 is affected.
Yes. CVE-2026-40882 is fixed in 1.22.0. Upgrade to this version or later.
Whether CVE-2026-40882 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
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.
Upgrade io.openremote:openremote-manager to 1.22.0 or later.