Skip to content
OpenAdvisories
High · 8.1 CVE-2024-47880 EUVD-2024-2977GHSA-79jv-5226-783f

OpenRefine has a reflected cross-site scripting vulnerability from POST request in ExportRowsCommand

Published Oct 24, 2024 · Updated Oct 28, 2024 · Assigned by GitHub_M

Description

OpenRefine is a free, open source tool for working with messy data. Prior to version 3.8.3, the `export-rows` command can be used in such a way that it reflects part of the request verbatim, with a Content-Type header also taken from the request. An attacker could lead a user to a malicious page that submits a form POST that contains embedded JavaScript code. This code would then be included in the response, along with an attacker-controlled `Content-Type` header, and so potentially executed in the victim's browser as if it was part of OpenRefine. The attacker-provided code can do anything the user can do, including deleting projects, retrieving database passwords, or executing arbitrary Jython or Closure expressions, if those extensions are also present. The attacker must know a valid project ID of a project that contains at least one row. Version 3.8.3 fixes the issue.

Affected products

VendorProductAffectedFixed
OpenRefine OpenRefine < 3.8.3 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 13 openrefine 3.8.7-1 —
Debian 12 openrefine 3.6.2-2+deb12u3 —
ReleasePackageFixed inAdvisory
Ubuntu Pro 24.04 LTS openrefine 3.7.7-1ubuntu0.1~esm1 USN-7260-1
Ubuntu Pro 22.04 LTS openrefine 3.5.2-1ubuntu0.1~esm1 USN-7260-1

Affected packages

EcosystemPackageAffectedFixedRecord
Maven org.openrefine:openrefine < 3.8.3 3.8.3 GHSA-79jv-5226-783f

Advisories 1

References