CVE-2026-108553 in OpenRefineinfo

Summary

by MITRE • 10/10/2026

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.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 10/10/2026

The identified security flaw resides within the open-source data wrangling tool OpenRefine, specifically affecting versions up through 3.10.1. This vulnerability is classified as a Cross-Site Request Forgery, commonly referred to by its acronym CSRF. The core of the issue lies in how the application handles requests directed at the get-rows command endpoint without adequate verification of the request's origin or intent relative to the user's current session state. In standard web security practices, applications must ensure that a request originates from an authorized source and is intended for a specific action by verifying tokens or checking referrer headers. OpenRefine fails to implement these necessary safeguards in this specific command interface, allowing external entities to forge requests on behalf of authenticated users who are currently logged into the application.

The technical mechanism exploited here involves crafting a malicious web page that triggers an HTTP GET request to the vulnerable endpoint when visited by a victim user. The attacker constructs a URL with a specially engineered engine parameter designed to execute Jython facet expressions. Because OpenRefine processes these expressions server-side, and due to the lack of CSRF protection on this specific command, the application blindly executes the code embedded within the crafted parameters. This represents a severe escalation from simple data manipulation to arbitrary code execution. The victim does not need to click any links or interact with malicious content beyond simply loading the page if it is auto-triggered via image tags or other stealthy methods, although manual interaction may be required depending on browser security policies regarding cross-origin requests.

The operational impact of this vulnerability is critical due to its potential for Remote Code Execution. By leveraging Jython facet expressions, an attacker can inject commands that interact directly with the underlying operating system running OpenRefine. This means a remote attacker can execute arbitrary shell commands with the same privileges as the user account under which the OpenRefine service or application instance is running. If the service runs with elevated permissions, such as root on Linux systems or Administrator rights on Windows, the compromise extends to full control of the host system. Even if run with limited privileges, the attacker can exfiltrate sensitive data processed by OpenRefine, modify datasets in ways that corrupt organizational records, or use the compromised machine as a pivot point for further network intrusions. This aligns closely with CWE-352, which defines Cross-Site Request Forgery, and specifically highlights the dangerous consequence of insufficient verification of user intent leading to unauthorized state-changing actions.

From an offensive security perspective, this vulnerability maps directly to techniques observed in real-world attacks as documented by MITRE ATT&CK frameworks. It corresponds to T1078 Valid Accounts, where attackers leverage legitimate credentials obtained through social engineering or other means to access the application and execute malicious commands. Furthermore, the execution of operating system commands via a web interface falls under T1059 Command and Scripting Interpreter, specifically utilizing Jython as the scripting environment. The ability to run arbitrary code on the server side makes this particularly dangerous compared to standard XSS vulnerabilities that are often limited to client-side impacts.

Mitigation strategies must address both immediate remediation and long-term architectural improvements. The most effective solution is to upgrade OpenRefine to version 3.10.2 or later, where developers have implemented fixes for the CSRF vulnerability in the get-rows command. For environments that cannot immediately patch due to compatibility constraints, deploying a reverse proxy with strict request validation can serve as an interim control layer. This includes enforcing same-origin policies and validating Content-Type headers to ensure requests are legitimate form submissions rather than forged GET requests from external domains. Additionally, implementing anti-CSRF tokens for all state-changing operations is essential. Organizations should also review the permissions assigned to the OpenRefine service account, ensuring it operates with the principle of least privilege to minimize the blast radius in case a compromise occurs. Regular security audits and penetration testing focused on web application logic flaws are recommended to identify similar misconfigurations across other endpoints within the platform.

Responsible

VulnCheck

Reservation

10/10/2026

Disclosure

10/10/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Interested in the pricing of exploits?

See the underground prices here!