Von welcher Sicherheitslücke sprichst du? Das Upload-Verzeichnis dient gewissermaßen als Sandbox: die Datei wird erstmal an eine Stelle geschoben, an der sie nicht viel Schaden anrichten kann.
Das gilt (im shared Hosting, Modul) nur, wenn das Uploadverzeichnis pro Domain getrennt geführt wird. Anderenfalls kann der Inhalt der Datei auch von Anderen geändert werden, solange sie dort liegt.
Äh. Die temporäre Datei wird beim Fileupload mit den Rechten 0600 (rw----) abgelegt. (Nicht nur) Beim shared hosting (sondern auch zur Isolation gewisser Skriptsammlungen wie Wordpress) sollte mittels mod_suexec bzw. mod_fcgid sicher gestellt werden, dass die Skripte z.B. mit den Rechten eines (zu konfigurierenden) Eigentümers:Gruppe der jeweiligen Dateien/Verzeichnisse ausgeführt werden. Dann kann nur der Eigentümer bzw. die unter dessen Rechte laufenden Skripte auf die hoch geladene Datei zugreifen.
Die Nutzung von suexec und fcgid hat freilich die Folge, dass z.B. PHP nicht als Modul, sondern in der CGI-Variante laufen „muss“. Verschiedene PHP-Versionen auf einem Server sind übrigens gar kein Problem.