Microsoft выявляет недостатки в библиотеке ncurses, влияющие на системы Linux и macOS

Carding

Professional
Messages
2,828
Reputation
17
Reaction score
2,100
Points
113
В библиотеке программирования ncurses (сокращение от new curses) был обнаружен ряд недостатков, связанных с повреждением памяти, которые могут быть использованы злоумышленниками для запуска вредоносного кода в уязвимых системах Linux и macOS.

"Используя отравление переменной среды, злоумышленники могли связать эти уязвимости для повышения привилегий и запуска кода в контексте целевой программы или выполнения других вредоносных действий", - заявили в опубликованном сегодня техническом отчете исследователи Microsoft Threat Intelligence Джонатан Бартон, Эмануэле Коззи и Майкл Пирс.

Уязвимости, которые в совокупности отслеживаются как CVE-2023-29491 (оценка CVSS 7,8), были устранены по состоянию на апрель 2023 года. Microsoft заявила, что также работала с Apple над устранением специфичных для macOS проблем, связанных с этими недостатками.

Переменные среды - это определяемые пользователем значения, которые могут использоваться несколькими программами в системе и могут влиять на их поведение в системе. Манипулирование переменными может привести к тому, что приложения будут выполнять несанкционированные операции.

Аудит кода и фаззинг Microsoft обнаружили, что библиотека ncurses выполняет поиск нескольких переменных среды, включая TERMINFO, которые могут быть изменены и объединены с выявленными недостатками для достижения повышения привилегий. Terminfo - это база данных, которая позволяет программам использовать дисплейные терминалы независимо от устройства.

Эти недостатки включают утечку информации о стеке, путаницу в параметризованном строковом типе, единичную ошибку, выход кучи за пределы при разборе файла базы данных terminfo и отказ в обслуживании с отмененными строками.

"Обнаруженные уязвимости могли быть использованы злоумышленниками для повышения привилегий и запуска кода в контексте целевой программы", - заявили исследователи. "Тем не менее, получение контроля над программой путем использования уязвимостей, связанных с повреждением памяти, требует многоэтапной атаки".

"Возможно, злоумышленнику потребовалось объединить уязвимости, чтобы повысить привилегии, такие как использование утечки информации из стека для получения произвольных примитивов чтения наряду с использованием переполнения кучи для получения примитива записи".
 
Top