Картинки могут использовать три вида уязвимостей:
1. В настройках вашего сервера. Если у вас можно загрузить картинку и обратиться к ней, и она останется неизменной и может оказаться не картинкой, а скриптом, который выполнится на сервере. Искореняется проверкой MIME и отдачей статики без обработки.
2. В библиотеках пользователя (старые версии libpng, например). В дикой природе практически не встречается, но если угодно, можно перекодировать файлы, используя ImageMagick.
3. И вот тут всплывает третий вариант: атака самого IM всякими форматами, в которых поддерживаются внешние ссылки. Искореняется ограничением того, что вообще можно загрузить и обработать, PNG и JPG, и последующей обработкой их IM.
На практике получаем, что проверка MIME и перекодирование IM решает все ваши проблемы. Заодно и еще одну - вам не навалят файлы такого размера, что внезапно кончится место на хостинге.
А вынос на другой сервер - вообще ни о чем. Только лаги увеличивать. Так делают для очень высоконагруженных проектов... но там и таких вопросов не задают ;)