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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-611"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54640.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.24.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "c28d3c60ebc2da68d9b6c4a6d7a5ad875a255ee9"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "1.24.2",
"range": [
{
"fixed": "c312ee8b2a7ccd0bda6a42b6ba26a5c7ab44a6d0"
}
],
"source": "REFERENCES_TAG"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54640.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"312334892452971045911984284225597696259",
"1690376385291886234243148543071357152",
"260212604356217851046736739661446844682",
"77549858029604095787205807040583109784",
"120822428519345376930921143365625423634",
"219860525082732431748606924267028147016",
"68382656059076878561563180082666942983",
"151030848970576730943344613500898341212",
"221585681575807477745084228064120184101",
"89008285230086170832480679584052327446",
"75495067416477289280163318967139422528",
"116827172769470807067503880405469588220",
"14170188763129360521594206008472147021",
"104389786285489719548055752292187114506",
"215774677478288090370505544833605149066",
"186583477090407812148731222175319905956",
"279091484833236524441504952314602508665",
"186518394385485301723804347174819028471",
"241050085937121437412927351614909918980",
"297636248896005616283561745864218800541",
"3672427629926216989436020566547169156",
"24630903273808012460352376552745479682",
"31308610094148713175936639150637673235",
"100840648460881970338548415885342066560",
"45172280732740135753624814232681922503",
"325732229121932972911355092467892825842",
"157301001757385158838630566108937335783",
"29101119990225363511400205003991328275",
"110583204761401943486903859762214588379"
],
"threshold": 0.9
},
"id": "CVE-2026-54640-4edee17d",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openremote/core/commit/c28d3c60ebc2da68d9b6c4a6d7a5ad875a255ee9",
"target": {
"file": "agent/src/main/java/org/openremote/agent/protocol/knx/KNXProtocol.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "259308382391295651769518669690347514916",
"length": 2400
},
"id": "CVE-2026-54640-f2ea8e2d",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/openremote/core/commit/c28d3c60ebc2da68d9b6c4a6d7a5ad875a255ee9",
"target": {
"file": "agent/src/main/java/org/openremote/agent/protocol/knx/KNXProtocol.java",
"function": "startAssetImport"
}
}
]
"2026-10-28T11:14:38Z"