CVE-2024-47881
NoneCVSS
—
EPSS
0.7%
Published
Oct 24, 2024
CISA due date
—
Cloudanix analysis
A data cleaning tool contained a flaw that could let someone who can reach it over a network run their own programs on the server.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- RCE
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The database extension allows the enable_load_extension SQLite property to be configured, permitting an attacker to load local or remote extension DLLs and execute arbitrary code on the server.
Why it matters to the business
Successful exploitation grants remote attackers the ability to run arbitrary code on OpenRefine servers, potentially leading to data theft, system compromise, or further network pivoting; the issue affects publicly reachable instances and requires prompt patching despite low observed exploitation rates.
How an attack unfolds
An attacker with network access to an OpenRefine instance configures the enable_load_extension property in the database extension to point at a malicious SQLite extension DLL (local or remote), causing the server to load and execute attacker-controlled code.
How to fix it
Upgrade OpenRefine to version 3.8.3 or later; the fix is present in commit d70d9114a8c021a233f0c13c73a0a7784276f2a4. Disable or restrict the database extension if immediate upgrade is not feasible.
How to confirm the fix worked
Confirm the installed version is 3.8.3 or newer; review database extension configuration to ensure enable_load_extension is not enabled; test connectivity and extension loading behavior in a controlled environment.
Typical attack path
- Identify publicly reachable OpenRefine instance
- Access the database extension configuration interface
- Set enable_load_extension to reference a malicious DLL
- Trigger SQLite integration to load the extension
- Execute arbitrary code on the server
How to detect it
Review application logs and configuration files for references to enable_load_extension or unexpected SQLite extension loading; examine process execution and network connections for anomalous DLL loads originating from the database extension.
What your security team should do
- Immediately upgrade all OpenRefine deployments to 3.8.3
- Restrict network access to OpenRefine instances to trusted sources only
- Audit existing configurations for any use of enable_load_extension
- Monitor for new EPSS increases or public exploit releases
The record
OpenRefine is a free, open source tool for working with messy data. Starting in version 3.4-beta and prior to version 3.8.3, in the `database` extension, the "enable_load_extension" property can be set for the SQLite integration, enabling an attacker to load (local or remote) extension DLLs and so run arbitrary code on the server. The attacker needs to have network access to the OpenRefine instance. Version 3.8.3 fixes this issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | org.openrefine:database | 3.4-beta | 3.8.3 |
| Debian:12 | openrefine | 0 | No fix |
| Debian:13 | openrefine | 0 | No fix |
| Ubuntu:22.04:LTS | openrefine | 0 | No fix |
| Ubuntu:24.04:LTS | openrefine | 0 | No fix |
| Ubuntu:24.10 | openrefine | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | openrefine | 0 | 3.5.2-1ubuntu0.1~esm1 |
| Ubuntu:Pro:24.04:LTS | openrefine | 0 | 3.7.7-1ubuntu0.1~esm1 |
| maven | org.openrefine/database | 3.4-beta | 3.8.3 |
Related vulnerabilities
- CVE-2024-49760 OpenRefine is a free, open source tool for working with messy data. Also affects openrefine
- CVE-2024-47882 OpenRefine is a free, open source tool for working with messy data. Also affects openrefine
- CVE-2024-47878 OpenRefine is a free, open source tool for working with messy data. Also affects openrefine
- CVE-2024-47880 OpenRefine is a free, open source tool for working with messy data. Also affects openrefine
- CVE-2024-47879 OpenRefine is a free, open source tool for working with messy data. Also affects openrefine