Далечинска ранливост во кернелот Линукс што се јавува при користење на протоколот TIPC

Идентификувана е ранливост (CVE-2022-0435) во модулот на кернелот на Линукс кој обезбедува функционирање на мрежниот протокол TIPC (Транспарентна интер-процесна комуникација), потенцијално дозволувајќи кодот да се изврши на ниво на јадрото со испраќање на специјално дизајнирана мрежа пакет. Проблемот влијае само на системите со вчитан модул на кернелот tipc.ko и конфигуриран стек TIPC, кој обично се користи во кластери и не е стандардно овозможен на неспецијализирани дистрибуции на Linux.

Забележано е дека при градење на кернелот во режимот „CONFIG_FORTIFY_SRC=y“ (се користи во RHEL), кој додава дополнителни проверки на границите на функцијата memcpy(), операцијата е ограничена на итен прекин (јадрото паничи). Ако се изврши без дополнителни проверки и ако протекуваат информации за ознаките на канари кои се користат за заштита на стекот, проблемот може да се искористи за далечинско извршување на код со права на јадрото. Истражувачите кои го идентификуваа проблемот тврдат дека техниката на експлоатација е тривијална и ќе биде откриена по широко распространетата елиминација на ранливоста во дистрибуциите.

Ранливоста е предизвикана од прелевање на стек што се случува при обработка на пакети, вредноста на полето со број на јазли член на доменот во кој надминува 64. За складирање на параметрите на јазолот во модулот tipc.ko, фиксна низа „u32 членови[64 ]“ се користи, но во процесот на обработка на наведеното во пакетот, бројот на јазолот не ја проверува вредноста на „member_cnt“, што овозможува да се користат вредности поголеми од 64 за контролирано препишување на податоци во мемориската област следната до структурата „dom_bef“ на магацинот.

Грешката што води до ранливоста беше претставена на 15 јуни 2016 година и беше вклучена во кернелот Linux 4.8. Ранливоста беше адресирана во изданијата на кернелот на Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 и 4.9.301. Во кернелите на повеќето дистрибуции проблемот останува нерешен: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Протоколот TIPC првично беше развиен од Ericsson, дизајниран да организира меѓупроцесна комуникација во кластер и се активира главно на кластерски јазли. TIPC може да работи преку Ethernet или UDP (мрежна порта 6118). Кога се работи преку етернет, нападот може да се изврши од локалната мрежа, а кога се користи UDP, од глобалната мрежа ако пристаништето не е покриено со заштитен ѕид. Нападот може да го изврши и непривилегиран локален корисник на домаќинот. За да го активирате TIPC, треба да го преземете модулот за кернелот tipc.ko и да го конфигурирате поврзувањето со мрежниот интерфејс користејќи netlink или алатката tipc.

Извор: opennet.ru

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