Может. Надо проверять "тело" файла на корректность того, что это - именно файл изображения. Банально - попробовать получить размер изображения с помощью функций для используемого языка программирования.
Например, для PHP: функция GD-библиотеки
getimagesize().
Также, нужно недопускать запуск всего подряд из папок-хранилищ!
(из-за админов - я не могу линк запостить сюда...)
Для понимания, сделайте поиск в гугл (вместе с кавычками!):
"Надежная защита веб-сайта от большинства видов атак"
и почитайте по 1-й ссылке.
-------------------------------------------------
Добавлю ещё, что можно изначально сохранять в "отстойник"/"хранилище" - директорию выше webroot и недоступную из-вне (т.е. веб-сервер никак не сможет вернуть содержимое файла или сделать его запуск).
Далее, 2 варианта:
1. Если это "отстойник" - проверяем и переносим куда нужно
2. Если "хранилище" - проверяем и оставляем там, потом читаем скриптами веб-сервера прям из той директории.