OpenRemote: XXE in KNXProtocol.startAssetImport() allows arbitrary file read via unprotected XMLInputFactory
What fixes it
- 1.24.2io.openremote:openremote-manager, mavenGitHub
<dependency><groupId>io.openremote</groupId><artifactId>openremote-manager</artifactId><version>1.24.2</version></dependency> - 1.24.2io.openremote:openremote-agent, MavenOSV
<dependency><groupId>io.openremote</groupId><artifactId>openremote-agent</artifactId><version>1.24.2</version></dependency>
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
OpenRemote is an open-source internet-of-things platform. Prior to 1.24.2, the KNXProtocol.startAssetImport method in agent/src/main/java/org/openremote/agent/protocol/knx/KNXProtocol.java processes 0.xml from an authenticated user's uploaded ETS project ZIP with Saxon TransformerFactoryImpl and XMLInputFactory parsers that permit external entity resolution. This incomplete remediation of CVE-2026-40882 leaves the KNX handler unprotected while the parallel Velbus handler is hardened, allowing a regular realm user to read files accessible to the JVM process or cause server-side requests. This issue is fixed in version 1.24.2.
Text from CVE List
Affected versions 54
- openremoteaffected: < 1.24.2CVE List
- openremote-manageraffected: < 1.24.2CVE List
- io.openremote:openremote-manager, maven<= 1.24.1GitHub
- io.openremote:openremote-agent, Mavenfrom first release, fixed in 1.24.2OSV
- io.openremote:openremote-agent, Maven0.1.0OSV
- io.openremote:openremote-agent, Maven1.10.0OSV
- io.openremote:openremote-agent, Maven1.11.0OSV
- io.openremote:openremote-agent, Maven1.11.1OSV
- io.openremote:openremote-agent, Maven1.11.2OSV
- io.openremote:openremote-agent, Maven1.11.3OSV
- io.openremote:openremote-agent, Maven1.12.0OSV
- io.openremote:openremote-agent, Maven1.12.1OSV
- io.openremote:openremote-agent, Maven1.12.3OSV
- io.openremote:openremote-agent, Maven1.13.0OSV
- io.openremote:openremote-agent, Maven1.13.1OSV
- io.openremote:openremote-agent, Maven1.14.0OSV
- io.openremote:openremote-agent, Maven1.15.0OSV
- io.openremote:openremote-agent, Maven1.15.1OSV
- io.openremote:openremote-agent, Maven1.15.2OSV
- io.openremote:openremote-agent, Maven1.16.1OSV
- io.openremote:openremote-agent, Maven1.17.0OSV
- io.openremote:openremote-agent, Maven1.17.1OSV
- io.openremote:openremote-agent, Maven1.17.2OSV
- io.openremote:openremote-agent, Maven1.17.3OSV
- io.openremote:openremote-agent, Maven1.18.0OSV
- io.openremote:openremote-agent, Maven1.19.0OSV
- io.openremote:openremote-agent, Maven1.2.0OSV
- io.openremote:openremote-agent, Maven1.2.1OSV
- io.openremote:openremote-agent, Maven1.2.2OSV
- io.openremote:openremote-agent, Maven1.2.3OSV
- io.openremote:openremote-agent, Maven1.2.4OSV
- io.openremote:openremote-agent, Maven1.20.0OSV
- io.openremote:openremote-agent, Maven1.20.1OSV
- io.openremote:openremote-agent, Maven1.20.2OSV
- io.openremote:openremote-agent, Maven1.21.0OSV
- io.openremote:openremote-agent, Maven1.22.0OSV
- io.openremote:openremote-agent, Maven1.22.1OSV
- io.openremote:openremote-agent, Maven1.23.0OSV
- io.openremote:openremote-agent, Maven1.23.1OSV
- io.openremote:openremote-agent, Maven1.24.0OSV
- io.openremote:openremote-agent, Maven1.24.1OSV
- io.openremote:openremote-agent, Maven1.3.0OSV
- io.openremote:openremote-agent, Maven1.3.1OSV
- io.openremote:openremote-agent, Maven1.3.2OSV
- io.openremote:openremote-agent, Maven1.3.3OSV
- io.openremote:openremote-agent, Maven1.3.4OSV
- io.openremote:openremote-agent, Maven1.3.5OSV
- io.openremote:openremote-agent, Maven1.4.0OSV
- io.openremote:openremote-agent, Maven1.5.0OSV
- io.openremote:openremote-agent, Maven1.6.0OSV
- io.openremote:openremote-agent, Maven1.6.2OSV
- io.openremote:openremote-agent, Maven1.6.3OSV
- io.openremote:openremote-agent, Maven1.6.4OSV
- io.openremote:openremote-agent, Maven1.6.5OSV