Благодаря недавно обнаруженной уязвимости в 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. Уязвимости в системах аутентификации подчёркивают важность регулярного аудита безопасности и своевременного обновления программного обеспечения. Организациям следует внимательно отслеживать выпуски патчей, особенно для критических компонентов, и внедрять процессы быстрого реагирования на новые угрозы.