CVE-2024-47882
NoneCVSS
—
EPSS
0.5%
Published
Oct 24, 2024
CISA due date
—
Cloudanix analysis
A flaw in OpenRefine lets attackers potentially run their own code inside a user's browser if that user opens a specially made bad file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Data Exposure
- Component
- Application
- Class
- XSS
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Unescaped exception messages and tracebacks rendered in the built-in error page allow HTML/JS injection when an attacker-controlled message reaches respondWithErrorPage.
Why it matters to the business
Attackers who can trick users into importing malicious files may execute scripts in the victim's browser, risking data exposure or account compromise during sensitive data-cleaning workflows; prevalence in data pipelines increases exposure surface for organizations handling untrusted datasets.
How an attack unfolds
An attacker crafts a file that triggers an error whose message contains executable HTML/JS, convinces a victim to import it into OpenRefine, and the unescaped content executes when the error page renders; out-of-tree extensions that call the same error handler widen the reachable surface.
How to fix it
Upgrade OpenRefine to version 3.8.3 or apply commit d70d9114a8c021a233f0c13c73a0a7784276f2a4; SUSE users of java-1_8_0-openjdk on affected SLES releases should install 1.8.0.302-27.63.2 or later.
How to confirm the fix worked
Confirm installed version is 3.8.3 or newer; attempt to trigger an error with HTML tags in the message and verify tags are escaped in the response page source.
Typical attack path
- Craft malicious import file containing payload in error-triggering structure
- Deliver file to victim via email, shared storage, or web link
- Victim opens file in vulnerable OpenRefine instance
- Application hits error path and calls respondWithErrorPage with attacker message
- Browser renders unescaped payload, executing injected script
How to detect it
Review application logs and web server access logs for error-page requests containing unusual HTML tags, script elements, or encoded payloads; inspect browser console or proxy captures for unexpected script execution on error responses.
What your security team should do
- Immediately upgrade all OpenRefine instances to 3.8.3
- Audit and review any custom or third-party extensions that invoke respondWithErrorPage
- Restrict import of untrusted files until patches are applied
- Monitor upstream for any additional extension-related fixes
The record
OpenRefine is a free, open source tool for working with messy data. Prior to version 3.8.3, the built-in "Something went wrong!" error page includes the exception message and exception traceback without escaping HTML tags, enabling injection into the page if an attacker can reliably produce an error with an attacker-influenced message. It appears that the only way to reach this code in OpenRefine itself is for an attacker to somehow convince a victim to import a malicious file, which may be difficult. However, out-of-tree extensions may add their own calls to `respondWithErrorPage`. Version 3.8.3 has a fix for this issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | org.openrefine:openrefine | 0 | 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 |
Related vulnerabilities
- CVE-2024-49760 OpenRefine is a free, open source tool for working with messy data. Also affects org.openrefine:openrefine
- CVE-2024-47880 OpenRefine is a free, open source tool for working with messy data. Also affects org.openrefine:openrefine
- CVE-2024-47878 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
- CVE-2024-47881 OpenRefine is a free, open source tool for working with messy data. Also affects openrefine