Доброго времени суток. Сегодня я раскажу о найденой мной RCE (remote code execution) уязвимости в движке моей любимой fps-игрушки Quake III и о построенном на уязвимости эксплойте. Поскольку в интернете упоминаний на этот счёт я не встречал, будем считать что данный эксплойт является 0-day.
Описание эксплойта
Позволяет через серверную часть выполнять удалённую загрузку данных и выполненять произвольный код в контесте процесса клиента. Эксплойт построен на 2х уязвимостях движка: перекрытие данных в VFS(virtual file system) и перехвате управления из виртуальной машины.
Предотвращение
Такая атака работает только при включенной конфигурации cl_allowDownload на стороне клиента, поэтому крайне рекомендуется во время сетевой игры отключать данную опцию :
cl_allowDownload "0"
Протестированные движки Q3
quake 3 arena 1.32b - работает
ioquake 1.36 - работает
openarena 0.8.8 - работает
Как оказалось уязвимость задела как сам движек Q3 так и большинство его модификаций.
