Уязвимости в Half-life server позволяют удаленным пользователям с уровнем доступа достаточным, чтобы выполнять команды exec или map, эксплоитировать уязвимости переполнения буфера и уязвимость форматирования строки для опускания сервера Half-Life или извлечения произвольного программного кода на хосте, где запущен сервер.
Системы уязвимы:
Half-life Windows server (Build 1572)
Half-life Linux server (Build 1573)
Уязвимости:
1) Когда 'map' команда отправляется на сервер с больше, чем 58 или 59 символов, случается потенциальное переполнение буфера.
2) Когда 235 или больше символов используется с командой 'exec', происходит другое буферное переполнение, сокрушающее сервер.
3) Уязвимость форматирования строки в команде 'map': Когда сервер получает символы такие, как %s или %d, он интерпретирует их как формволы форматирования и они обработаются правильно, то пользователь может крашнуть сервер или извлечь произвольный программный код.
4) Есть еще буферное переполнение в parsing коде конфигурационных файлов, которое может быть использовано, чтобы извлечь произвольный программный код с правами юзера, запустившего сервер. Это грозит нехилыми неприятностями серверу, точнее его пользователям 🙂 т.к. кто-нибудь может поместить код модуля в конфигурационный файл и со спокойной душой распространять его все пользователям сервера.