CVE-2023-42456
sudo-rs Уязвимость обхода пути относительно файла сессии
- Опубликовано
- 21 сент. 2023 г.
- Обновлено
- 10 июн. 2026 г.
- Назначение CNA
- GitHub_M
- Наблюдены доказательства
- 8 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:HНизкий · следующие 30 дней
- Процентиль
- 45,7 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
Sudo-rs, безопасная с точки зрения памяти реализация sudo и su, позволяет пользователям не вводить аутентификацию при каждой попытке sudo, а вместо этого требовать аутентификацию лишь время от времени в каждом терминале или группе процессов. Только после истечения настраиваемого тайм-аута пользователю придётся повторно пройти аутентификацию. Поддержку этой функциональности обеспечивает набор файлов сеансов (меток времени) для каждого пользователя, хранящихся в `/var/run/sudo-rs/ts`. Эти файлы называются по имени пользователя, от которого выполняется попытка sudo (исходного пользователя). В версиях до 0.2.1 была обнаружена проблема, при которой имена пользователей, содержащие символы `.` и `/`, могли привести к повреждению определённых файлов в файловой системе. Поскольку имена пользователей, как правило, не ограничены по допустимым символам, можно сконструировать имя пользователя, выглядящее как относительный путь. Например, можно добавить в систему пользователя с именем `../../../../bin/cp`. Войдя в систему под пользователем с таким именем, этот пользователь может выполнить `sudo -K`, чтобы очистить свой файл записи сеанса. Затем код сеанса формирует путь к файлу сеанса, объединяя имя пользователя с каталогом хранения файлов сеансов, что приводит к разрешённому пути `/bin/cp`. После этого код очищает этот файл, в результате чего бинарный файл `cp` фактически удаляется из системы. Злоумышленнику необходимо иметь возможность войти в систему под пользователем со сконструированным именем. Учитывая, что такое имя пользователя вряд ли существует в действующей системе, ему также потребуется возможность создавать пользователей со сконструированными именами. Проблема исправлена в версии 0.2.1 sudo-rs. Теперь sudo-rs использует uid пользователя вместо его имени для определения имени файла. Обратите внимание, что обновление до этой версии приведёт к игнорированию существующих файлов сеансов, и пользователи будут вынуждены повторно пройти аутентификацию. Это также полностью устраняет любую возможность обхода пути, поскольку uid всегда являются целочисленными значениями. Команды `sudo -K` и `sudo -k` могут выполняться, даже если у пользователя нет доступа к sudo. В качестве обходного решения убедитесь, что в вашей системе нет пользователей со специально созданным именем. Пока это так и пока недоверенные пользователи не имеют возможности создавать произвольных пользователей в системе, эксплуатировать эту проблему не удастся.
Источники
1Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.