Where
-Infinity
0
Severity
9.8
SQL Injection
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Summary An remote Code exec vulnerability allows any unauthenticated user to exec code on the server.

Details Hi,Team, i find openrefine support to import data from database,When use mysql jdbc to connect to database,It is vulnerable to jdbc url attacks,for example,unauthenticated attacker can get rce on the server through the mysql userializable If the mysql-connector-java version used on the server side is less than 8.20. In order for the server to enable deserialization we need to set the autoDeserialize and queryInterceptors parameters in the connection string,As same with https://github.com/OpenRefine/OpenRefine/security/advisories/GHSA-qqh2-wvmv-h72m, since the concatenation string is a direct concatenation, it is possible to inject the required parameters after the other parameters. !image

And there is a commons-beanutils dependency library on the server side, which contains an RCE-capable deserialization exploit chain

PoC env: centos 7 openrefine 3.7.4 jdk11 mysql-connector-java version 8.14.0 you can use the tool https://github.com/4ra1n/mysql-fake-server to running a malicious mysql server. for example use the CB 1.9 Gadget to exec command touch /tmp/hacked. !image set the user to base64ZGVzZXJfQ0JfdG91Y2ggL3RtcC9oYWNrZWQ=(touch /tmp/hacked base64 encode),dataBaseName to test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor#. !image !image command touch /tmp/hacked is executed. !image

Impact An remote Code exec vulnerability allows any unauthenticated user to exec code on the server.

1 / 3
First published (updated )
Severity
7.5
SQL Injection
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Summary An arbitrary file read vulnerability allows any unauthenticated user to read the file on the server.

Details Hi,Team, i find openrefine support to import data from database,When use mysql jdbc to connect to database,It is vulnerable to jdbc url attacks,for example,unauthenticated attacker can read the file on the server. There are some differences in utilization depending on the version of the mysql-connector dependency on the server side. 1. mysql-connector-java version > 8.14 The default value of allowLoadLocalInfile on the server side is false in this case.We need to manually set this value to true in the connection string. Since the way to get the databaseurl in com/google/refine/extension/database/mysql/MySQLConnectionManager.java is to splice the individual configurations directly, we can set the allowLoadLocalInfile parameter after the other parameters(for example the databaseName parameter ). !image !image !image 2. mysql-connector-java version <= 8.14 The default value of allowLoadLocalInfile on the server side is true in this case.so wo don't need do anything,Just connect to our malicious server.

PoC env: centos 7 openrefine 3.7.4 jdk11 mysql-connector-java version 8.30.0

you can use the tool https://github.com/4ra1n/mysql-fake-server to running a malicious mysql server. !image for example,to read the /etc/passwd file. !image set the username to base64ZmlsZXJlYWRfL2V0Yy9wYXNzd2Q= and Database name to test?allowLoadLocalInfile=true# (for mysql-connector-java version <= 8.14,just setting the database name normally) and test to connect your malicious mysql server. you can get the file in your fake-server-files directory. !image

Impact

An arbitrary file read vulnerability allows any unauthenticated user to read the file on the server.

1 / 3
First published (updated )
Severity
7.5
XEE
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

The data import functionality in OpenRefine through 3.1 allows an XML External Entity (XXE) attack through a crafted (zip) file, allowing attackers to read arbitrary files.

First published (updated )
Severity
6.5
Path Traversal
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

OpenRefine before 3.2 beta allows directory traversal via a relative pathname in a ZIP archive.

First published (updated )

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203