Обновление Half-Life (16−04−2019)
Юрий Цуканов,
Основные изменения:
- Добавлена проверка прав доступа при выполнении команд. Указания, исходящие не от клиента, теперь могут исполнять только те команды, которые считаются безопасными. Такие команды, как 'connect', 'bind', 'quit' и некоторые консольные переменные, такие как 'cl_filterstuffcmd', теперь могут выполняться только доверенными источниками;
- Установка значения переменной cl_filterstuffcmd больше нуля (например, cl_filterstuffcmd 1) установит ограничение на команды, которые может запускать сервер на клиенте и которые можно использовать для нанесения вреда клиенту. Например: 'say', 'fps_max' или 'setinfo'.
Исправления:
- Исправлена ошибка, из-за которой клиент неверно блокировал загрузку пользовательских спреев.
Исправления безопасности:
- Имена всех пользовательских ресурсов, скачиваемых с серверов теперь проверяются на безопасность до скачивания;
- Некоторые команды теперь нельзя запустить, если в них указаны недопустимые расширения файлов;
- Динамически подключаемые библиотеки теперь не ищутся в пользовательских папках;
- Расширен пользовательский список заблокированных расширений;
- Исправлено переполнение буфера в системе парсинга сообщений;
- Исправлено RCE (удалённое выполнение кода) в системе обработки сообщений оружия;
- Исправлено RCE в системе загрузки моделей;
- Исправлено RCE в системе загрузки сохранённых игр;
- Исправлено переполнение буфера в системе загрузки TGA и BMP файлов;
- Исправлено переполнение буфера в системе воспроизведения демок;
- Исправлено переполнение буфера в системе последовательной загрузки файлов;
- Исправлено переполнение буфера в системе загрузки названий моделей;
- Исправлено переполнение буфера в системе загрузки плей-листов музыки;
- Исправлено переполнение буфера в системе загрузки данных текстур;
- Исправлено переполнение буфера в системе вывода списка карт в консоли;
- Исправлено образование цепочек команд консольных переменных, в которых указывались файлы конфигурации, передаваемые в команду 'exec'.