Осебпазирӣ дар зерсистемаи ядрои Linux Netfilter

Дар Netfilter, зерсистемаи ядрои Linux, ки барои филтр ва тағир додани бастаҳои шабака истифода мешавад, осебпазирӣ (CVE-2021-22555) муайян шудааст, ки ба корбари маҳаллӣ имкон медиҳад, ки дар система, аз ҷумла ҳангоми дар як контейнери ҷудошуда имтиёзҳои реша пайдо кунад. Прототипи кории эксплоит, ки механизмҳои муҳофизати KASLR, SMAP ва SMEP-ро фаро мегирад, барои санҷиш омода карда шудааст. Муҳаққиқе, ки осебпазириро кашф кардааст, аз Google барои муайян кардани усули канорагирӣ аз ҷудокунии контейнерҳои Kubernetes дар кластери kCTF 20 XNUMX доллар мукофот гирифт.

Мушкилот аз замони ядрои 2.6.19, ки 15 сол пеш нашр шудааст, вуҷуд дорад ва аз сабаби хато дар коркардкунандагони IPT_SO_SET_REPLACE ва IP6T_SO_SET_REPLACE ба вуҷуд омадааст, ки ҳангоми фиристодани параметрҳои махсус форматшуда тавассути занги setsockopt дар ҳолати мувофиқ боиси фаромадани буфер мегардад. Дар шароити муқаррарӣ, танҳо корбари реша метавонад ба compat_setsockopt() занг занад, аммо имтиёзҳоеро, ки барои анҷом додани ҳамла заруранд, инчунин метавонанд аз ҷониби корбари беимтиёз дар системаҳое, ки дастгирии фазоҳои номи корбар фаъоланд, ба даст оранд.

Истифодабаранда метавонад бо корбари алоҳидаи решавӣ контейнер эҷод кунад ва аз осебпазирӣ аз он ҷо истифода барад. Масалан, "фазоҳои номи корбар" ба таври нобаёнӣ дар Ubuntu ва Fedora фаъол аст, аммо дар Debian ва RHEL фаъол нест. Ямоқи ислоҳи осебпазирӣ дар ядрои Linux 13 апрел қабул карда шуд. Навсозии бастаҳо аллакай аз ҷониби лоиҳаҳои Debian, Arch Linux ва Fedora тавлид шудаанд. Дар Ubuntu, RHEL ва SUSE, навсозиҳо омодаанд.

Мушкилот дар функсияи xt_compat_target_from_user() аз сабаби ҳисобкунии нодурусти андозаи хотира ҳангоми захира кардани сохторҳои ядро ​​пас аз табдилдиҳӣ аз муаррифии 32-бит ба 64-бит ба вуҷуд меояд. Хатогӣ имкон медиҳад, ки чаҳор байти нул ба ҳар мавқеъ берун аз буфери ҷудошуда, ки бо ҷуброни 0x4C маҳдуд аст, навишта шавад. Ин хусусият барои эҷоди истисморе кифоя буд, ки ба кас ҳуқуқҳои решаро ба даст орад - бо тоза кардани m_list-> нишондиҳандаи оянда дар сохтори msg_msg, шароит барои дастрасӣ ба додаҳо пас аз озод кардани хотира (истифода пас аз озод), ки баъдан барои ба даст овардани маълумот дар бораи суроғаҳо ва тағирот ба сохторҳои дигар тавассути коркарди занги системаи msgsnd() истифода мешуд.

Манбаъ: opennet.ru

Илова Эзоҳ