{"answers":{"affected":"2 open source packages ship an affected version, including io.openremote:openremote-manager. It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-40882 exists.","fix":"Upgrade io.openremote:openremote-manager to 1.22.0 or later.","what":"CVE-2026-40882 is a high-severity vulnerability in openremote, published on 22 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-40882 and fix it if it is affected.\n\nWhat it is: CVE-2026-40882 is a high-severity vulnerability in openremote, published on 22 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-40882 exists.\n\nAffected packages and fixed versions:\n- io.openremote:openremote-manager (Maven): affected all versions; fixed in 1.22.0\n- io.openremote:openremote-manager (Maven): affected all versions; fixed in 1.22.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-40882/ (Markdown: https://insights.sbomify.com/CVE-2026-40882/index.md)","id":"CVE-2026-40882","markdown":"https://insights.sbomify.com/CVE-2026-40882/index.md","name":"CVE-2026-40882","record":{"aliases":["GHSA-g24f-mgc3-jwwc"],"analysis":{"component_type":"iot_embedded","fix_type":"upgrade","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"OpenRemote IoT platform","requires_auth":"low_privilege","summary":"An authenticated user can exploit XML External Entity processing in the Velbus asset import to disclose server-side files and perform SSRF.","user_interaction":"not_required","vuln_class":"xxe"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"openremote","vendor":"openremote"}],"cvss":{"score":7.6,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","version":"3.1"},"cwes":[{"id":"CWE-611","name":"Improper Restriction of XML External Entity Reference"}],"description":"OpenRemote is an open-source internet-of-things platform. Prior to version 1.22.0, 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. Version 1.22.0 fixes the issue.","ecosystems":["Maven"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"OpenRemote has XXE in Velbus Asset Import","id":"CVE-2026-40882","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Maven","product":null,"products":[],"type":"xxe","year":"2026"},"n_packages":2,"n_references":1,"next":{"headline":"goshs: CSRF in state-changing GET routes enables authenticated file deletion and directory creation","id":"CVE-2026-40883"},"packages":[{"ecosystem":"Maven","fixed":["1.22.0"],"introduced":["0"],"last_affected":[],"package":"io.openremote:openremote-manager","purl":null,"source":"GHSA-g24f-mgc3-jwwc"},{"ecosystem":"Maven","fixed":["1.22.0"],"introduced":["0"],"last_affected":[],"package":"io.openremote:openremote-manager","purl":"pkg:maven/io.openremote/openremote-manager","source":"GHSA-g24f-mgc3-jwwc"}],"prev":{"headline":"Zebra: addr/addrv2 Deserialization Resource Exhaustion","id":"CVE-2026-40881"},"products":["openremote"],"published":"2026-04-22","related":[{"cvss_score":10,"headline":"OpenRemote is Vulnerable to Expression Injection","id":"CVE-2026-39842","kev_date_added":null,"published":"2026-04-14"},{"cvss_score":9.8,"headline":"Code injection in n/a","id":"CVE-2022-31860","kev_date_added":null,"published":"2022-09-06"},{"cvss_score":7.2,"headline":"OpenRemote \u003c 1.26.0 SQL Injection via Crosstab Export","id":"CVE-2026-62238","kev_date_added":null,"published":"2026-07-17"},{"cvss_score":7,"headline":"OpenRemote has Improper Access Control via updateUserRealmRoles function","id":"CVE-2026-41166","kev_date_added":null,"published":"2026-04-22"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-04-23","vendors":["openremote"]},"summary":"An authenticated user can exploit XML External Entity processing in the Velbus asset import to disclose server-side files and perform SSRF.","url":"https://insights.sbomify.com/CVE-2026-40882/"}