Cross-site request forgery in OpenRefine get-rows command allows code execution
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- Tampering
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-352.
Summary
OpenRefine through 3.10.1 contains a cross-site request forgery flaw in the get-rows command, CWE-352. A malicious web page can make a user's browser send a cross-origin GET request with a crafted engine parameter, which lets remote attackers run Jython facet expressions. Successful exploitation executes operating system commands as the OpenRefine user, and the attacker must lure a user to the page.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
OpenRefine through 3.10.1 contains a cross-site request forgery vulnerability in the get-rows command that allows remote attackers to execute Jython facet expressions. Attackers can lure a user to a malicious page issuing a cross-origin GET with a crafted engine parameter, executing operating system commands as the OpenRefine user.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
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 |
|---|---|---|---|---|---|
| OpenRefine | OpenRefine | up to 3.10.1 | — | No fix listed | CNA |
- OpenRefine VendorOpenRefine Affected up to 3.10.1 Fixed in — No fix listed 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:openrefine:openrefine:*:*:*:*:*:*:*:* | — | — | OpenRefine |
- cpe:2.3:a:openrefine:openrefine:*:*:*:*:*:*:*:* Versions — — ·OpenRefine
Remediation
The sources list no fixed version for OpenRefine.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Timeline
- 2026-10-11 Threatist record created from CVE-2026-108553
- 2026-10-11 Alias added: GHSA-3fgg-hmv4-hp49
- 2026-10-11 Priority changed: MEDIUM → LOW
- 2026-10-18 CISA SSVC decision points changed
References
Other 5
- GitHub Issue #7999
- https://github.com/OpenRefine/OpenRefine
- https://github.com/OpenRefine/OpenRefine/blob/bde8a36dc188f7846aeafc2910969e7d0fbc8e7c/main/src/com/google/refine/commands/row/GetRowsCommand.java#L174-L186
- https://github.com/OpenRefine/OpenRefine/blob/bde8a36dc188f7846aeafc2910969e7d0fbc8e7c/modules/core/src/main/java/com/google/refine/browsing/facets/ListFacet.java#L327-L339
- https://github.com/OpenRefine/OpenRefine/blob/bde8a36dc188f7846aeafc2910969e7d0fbc8e7c/extensions/jython/src/com/google/refine/jython/JythonEvaluable.java#L142
More OpenRefine vulnerabilities
- TI-2023-22279 Remote Code exec in project import with mysql jdbc url attack CVSS 3.1CRITICAL 9.8
- TI-2024-32135 OpenRefine's SQLite integration allows filesystem access, remote code execution (RCE) CVSS 3.1HIGH 8.8
- TI-2024-32133 OpenRefine's PreviewExpressionCommand, which is eval, lacks protection against cross-site request forgery (CSRF) CVSS 3.1HIGH 8.8
- TI-2024-32137 Butterfly has path/URL confusion in resource handling leading to multiple weaknesses CVSS 3.1CRITICAL 9.1
- TI-2023-22278 OpenRefine vulnerable to arbitrary file read in project import with mysql jdbc url attack CVSS 3.1HIGH 7.5
- TI-2024-32134 OpenRefine has a reflected cross-site scripting vulnerability from POST request in ExportRowsCommand CVSS 3.1HIGH 8.1
Sources
- CVE-2026-108553 · CVE Program
- CVE-2026-108553 · NVD
- FIRST EPSS
- GHSA-3fgg-hmv4-hp49 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences