Программа: UFO2000
Найденные уязвимости позволяют удаленному злоумышленнику выполнить произвольный код на целевой системе и выполнить произвольный SQL код в базе данных приложения.
1. Уязвимость существует из-за ошибки в проверке входных данных в функции recv_add_unit() в multiplay.cpp. Атакующий может передать специально сформированные данные, что приведет к выполнению произвольного кода.
2. Уязвимость существует из-за ошибки в проверке входных данных при обработке входящих пакетов в decode_stringmap() в server_transport.cpp. Атакующий может передать специально сформированные пакеты, что приведет к выполнению произвольного кода.
3. Уязвимость существует из-за ошибки в проверке входных данных в recv_rules() в multiplay.cpp. Атакующий может передать специально сформированные данные, что приведет к выполнению произвольного кода.
4. Уязвимость существует из-за ошибки в recv_packet() в server_protocol.cpp при проверке входных данных, где используется формат аргумента, содержащего данные, - %s вместо %q. Атакующий может передать специально сформированные данные, что приведет к выполнению произвольного SQL кода в базе данных приложения.
5. Уязвимость существует из-за ошибки в использовании функцией recv_map_data() глобального буфера mapdata, объявленного в main.cpp в качестве структуры GEODATA. Атакующий может передать специально сформированные данные, что приведет к выполнению произвольного кода.