Authenticated SQL injection in OpenRemote crosstab datapoint exports
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| openremote | openremote | before 1.26.0 | 1.26.0 | Patch available | CNA |
- 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.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| 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
- 2026-10-30 Threatist record created from CVE-2026-63224
- 2026-11-01 Priority changed: MEDIUM → LOW
- 2026-11-06 CISA SSVC decision points changed
- 2026-11-06 Priority changed: LOW → HIGH
References
More openremote vulnerabilities
- 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
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences