Esistono due potenziali problemi di sicurezza con il supporto della versione LOCAL delle istruzioni LOAD DATA:
- Il trasferimento del file dall'host client all'host del server viene avviato dal server MySQL. In teoria, è possibile creare un server con patch che indicherebbe al programma client di trasferire un file di scelta del server piuttosto che il file indicato dal client nell'istruzione LOAD DATA. Un tale server può accedere a qualsiasi file sull'host client a cui l'utente client ha accesso in lettura.
- In un ambiente Web in cui i client si connettono da un server Web, un utente può utilizzare LOAD DATA LOCAL per leggere tutti i file a cui il processo del server Web ha accesso in lettura (presupponendo che un utente possa eseguire qualsiasi comando sul server SQL ). In questo ambiente, il client rispetto al server MySQL è in realtà il server Web, non il programma remoto eseguito dall'utente che si connette al server Web.
Tutte le fonti che ho trovato MySQL , Symantec e Green SQL consiglia di disabilitare questa funzione. Tuttavia, se si utilizza in un ambiente controllato (accesso limitato solo a utenti fidati) è possibile accettare il rischio.