CVE-2024-47191: ошибка в OATH Toolkit поставила под удар безопасность миллионов устройств

Благодаря недавно обнаруженной уязвимости в OATH Toolkit, которая получила идентификатор CVE-2024-47191,злоумышленники могут повысить свои привилегии до уровня суперпользователя. Данная уязвимость найдена в модуле “Pluggable Authentication Module” (PAM), используемом для интеграции OTP-аутентификации в системы входа.

Проблема возникла из-за небезопасной обработки файлов в домашнем каталоге пользователей при использовании модуля “pam_oath.so” в PAM. В частности, при настройке параметра “usersfile=${HOME}/user.oath” операции выполнялись с привилегиями root, но без должных проверок безопасности. Это позволило злоумышленникам создавать символические ссылки на критические системные файлы, такие как “shadow”, что вело к возможности их перезаписи и изменению прав собственности.

Уязвимость была введена в версии 2.6.7 и затронула все последующие версии до 2.6.11. Ошибка обнаружена исследователем из SUSE – Фабианом Фогтом, и после согласованных действий с разработчиками OATH Toolkit была выпущена обновлённая версия 2.6.12, которая исправляет данную проблему.

Патч, разработанный командой SUSE, фокусируется на устранении ошибок в механизме блокировки файлов и обеспечивает защиту от атак с использованием символических ссылок. Внесённые изменения также включают безопасную обработку файлов через системные вызовы и улучшенную защиту от условий гонки (Race Condition).

Однако, патч от SUSE рассчитан на Linux и использует специфические функции “/proc/self/fd”, в то время как более универсальная версия для других платформ была выпущена разработчиками OATH Toolkit.

Уязвимости в системах аутентификации подчёркивают важность регулярного аудита безопасности и своевременного обновления программного обеспечения. Организациям следует внимательно отслеживать выпуски патчей, особенно для критических компонентов, и внедрять процессы быстрого реагирования на новые угрозы.

Public Release.