Рањивост у ВФС-у Линук кернела која вам омогућава да повећате своје привилегије

Рањивост (ЦВЕ-2022-0185) је идентификована у Филесистем Цонтект АПИ-ју који обезбеђује Линук кернел, који омогућава локалном кориснику да добије роот привилегије на систему. Истраживач који је идентификовао проблем објавио је демонстрацију експлоатације која вам омогућава да извршите код као роот на Убунту 20.04 у подразумеваној конфигурацији. Планирано је да код експлоатације буде објављен на ГитХуб-у у року од недељу дана након што дистрибуције објаве ажурирање које поправља рањивост.

Рањивост постоји у функцији легаци_парсе_парам() у ВФС-у и узрокована је неуспехом да се правилно провери максимална величина параметара обезбеђених на системима датотека који не подржавају Филесистем Цонтект АПИ. Преношење превеликог параметра може проузроковати преливање целобројне променљиве која се користи за израчунавање величине података за писање – код има проверу прекорачења бафера „иф (лен > ПАГЕ_СИЗЕ – 2 – величина)“, што не ради ако је вредност величине већа од 4094. за преливање целог броја кроз доњу границу (прелив целог броја, када се пребацује 4096 - 2 - 4095 у инт без предзнака, резултат је 2147483648).

Ова грешка омогућава, када се приступа посебно дизајнираној слици система датотека, да изазове преливање бафера и препише податке кернела који прате додељену меморијску област. Да бисте искористили рањивост, морате имати ЦАП_СИС_АДМИН права, тј. овлашћења администратора. Проблем је у томе што непривилеговани корисник може да добије такве дозволе у ​​изолованом контејнеру ако систем има омогућену подршку за корисничке просторе имена. На пример, кориснички простори имена су подразумевано омогућени на Убунту и Федори, али нису омогућени на Дебиан-у и РХЕЛ-у (осим ако се не користе платформе за изолацију контејнера).

Проблем се појављује од Линук кернела 5.1 и решен је у јучерашњим ажурирањима 5.16.2, 5.15.16, 5.10.93, 5.4.173. Ажурирања пакета која поправљају рањивост већ су објављена за РХЕЛ, Дебиан, Федора и Убунту. Исправка још није доступна на Арцх Линук, Гентоо, СУСЕ и опенСУСЕ. Као безбедносно решење за системе који не користе изолацију контејнера, можете да подесите вредност сисцтл "усер.мак_усер_намеспацес" на 0: ецхо "усер.мак_усер_намеспацес=0" > /етц/сисцтл.д/усернс.цонф # сисцтл -п /етц/ сисцтл.д/усернс.цонф

Извор: опеннет.ру

Додај коментар