Cloudanix VulnDB

CVE-2024-49760

None

CVSS

—

EPSS

0.6%

Published

Oct 24, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in OpenRefine lets attackers read files they shouldn't by tricking the tool into loading the wrong data files.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
Application
Class
Path Traversal
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The load-language command constructs a file path from the lang parameter without validating it stays within the expected translations directory, enabling arbitrary JSON file reads via path traversal.

Why it matters to the business

Attackers may read sensitive configuration or data files stored as JSON on the server, leading to information disclosure that could aid further attacks; low EPSS and no known exploitation reduce immediate urgency but affected OpenRefine instances remain exposed until patched.

How an attack unfolds

An attacker sends a malicious lang parameter containing path traversal sequences to the load-language endpoint, causing the application to load and return contents of arbitrary JSON files from the filesystem.

How to fix it

Upgrade to version 3.8.3 or apply the fix in commit d70d9114a8c021a233f0c13c73a0a7784276f2a4; the listed systemd package on SUSE is unrelated to this OpenRefine issue.

How to confirm the fix worked

Verify the application version is 3.8.3 or later; attempt to access a file outside the translations directory using the load-language command and confirm it is rejected.

Typical attack path

  1. Identify the vulnerable OpenRefine instance and locate the load-language endpoint
  2. Craft a request with a lang parameter using ../ sequences or absolute paths to target desired JSON files
  3. Submit the request and inspect the response for unauthorized file contents

How to detect it

Inspect web server logs for requests to the load-language endpoint with suspicious lang parameters containing path traversal sequences like .. or absolute paths.

What your security team should do

  • Upgrade all OpenRefine instances to the fixed version immediately
  • Review and restrict network access to the load-language endpoint
  • Audit logs for suspicious requests to the affected command

The record

OpenRefine is a free, open source tool for working with messy data. The load-language command expects a `lang` parameter from which it constructs the path of the localization file to load, of the form `translations-$LANG.json`. But when doing so in versions prior to 3.8.3, it does not check that the resulting path is in the expected directory, which means that this command could be exploited to read other JSON files on the file system. Version 3.8.3 addresses 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