Read the docs
TI-2026-83430 Aliases CVE-2026-63224

Authenticated SQL injection in OpenRemote crosstab datapoint exports

Priority HIGH 65CWE-89Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
SQL injection
Confidentiality · integrity · availability
High · Low · Low
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-89.

Summary

OpenRemote before 1.26.0 has an SQL injection flaw (CWE-89) in its datapoint export API. The asset name is concatenated into a crosstab COPY query, and quote escaping does not protect identifiers or the dollar-quote delimiter. An authenticated user who can create or rename an asset and export its datapoints can read injected SELECT output in the CSV response. In multi-tenant deployments this can expose other tenants' data if the database role can read shared tables.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

OpenRemote is an open-source internet-of-things platform. Prior to 1.26.0, the `datapoint export` API constructs `CSV crosstab` SQL by concatenating an `asset name` and `attribute name` into a `COPY` query that uses `crosstab` and streams `TO STDOUT`. The `asset name` enters both a double-quoted column identifier and a category query enclosed by the fixed `$cat$` delimiter. Escaping single quotes in one string context does not escape embedded double quotes in identifiers or protect that dollar-quote boundary. An authenticated user permitted to create or rename an asset and read/export datapoints for one of its attributes can store SQL metacharacters in the name and request a `crosstab` export, causing injected SELECT output to be returned in the normal ZIP/CSV response. This enables database exfiltration without direct database or filesystem access or token forgery. In a multi-tenant deployment it can expose other tenants' data if the manager's database role can read shared tables; integrity and availability effects are not established by the demonstrated read primitive. This issue is fixed in version 1.26.0.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00337 27th percentileScored 2026-11-07
Fix Fixed openremote (openremote): 1.26.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
openremoteopenremotebefore 1.26.01.26.0Patch availableCNA
  • openremote Vendoropenremote Affected before 1.26.0 Fixed in 1.26.0 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:openremote:openremote:*:*:*:*:*:*:*:*——openremote
  • cpe:2.3:a:openremote:openremote:*:*:*:*:*:*:*:* Versions — — ·openremote

Remediation

Upgrade OpenRemote to version 1.26.0, which fixes this issue.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA openremote (openremote) Fixed in 1.26.0

Timeline

  1. 2026-10-30 Threatist record created from CVE-2026-63224
  2. 2026-11-01 Priority changed: MEDIUM → LOW
  3. 2026-11-06 CISA SSVC decision points changed
  4. 2026-11-06 Priority changed: LOW → HIGH

References

  • TI-2022-13714 An issue was discovered in OpenRemote through 1.0.4 allows attackers to execute arbitrary… CVSS 3.1CRITICAL 9.8
  • TI-2026-28724 OpenRemote is Vulnerable to Expression Injection CVSS 3.1CRITICAL 10.0
  • TI-2026-79160 Missing authorization in OpenRemote gateway tunnel endpoints CVSS 4.0CRITICAL 9.0
  • TI-2026-40948 OpenRemote < 1.25.0 IDOR via Bulk Alarm Deletion Endpoint CVSS 4.0HIGH 8.6
  • TI-2026-71893 OpenRemote: Cross-Realm User Information Disclosure in UserResourceImpl CVSS 3.1HIGH 7.7
  • TI-2026-29790 OpenRemote has Improper Access Control via updateUserRealmRoles function CVSS 3.1HIGH 7.0
See all 18 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences