Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Problem is using "LOAD DATA LOCAL INFILE" (ie : loading a file from client), may be a security problem :
- if server sources has been changed, server mays asked for a different file than the file in query.
- if someone has can execute query from client, he can have access to any file on client (according to the rights of the user running the client process).
Solution is to add a callback function that can validate file /directory structure.
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 1.5.0 [ 19607 ] |
Summary | improve LOAD DATA LOCAL INFILE | Add LOAD DATA LOCAL INFILE security filter function |
Status | Open [ 1 ] | In Progress [ 3 ] |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 75798 ] | MariaDB v4 [ 128299 ] |
The actual threat is a "man in the middle", some kind of mysqld proxy server, that would redirect queries to the actual server, and return the correct resuls, so user does not notice, but also read all files from your disk that are readable by JDBC running proces. To accomplish this, it would just need to send additional "give me that file" packet that is usually sent by LOAD DATA LOCAL INFILE.