TIPC протоколун колдонууда пайда болгон Linux ядросунун алыскы аялуулугу

Linux ядро ​​модулунда TIPC (Transparent Interprocess Communication) тармактык протоколунун иштешин камсыз кылган аялуу (CVE-2022-0435) аныкталды, ал кодду атайын иштелип чыккан тармакты жөнөтүү аркылуу ядро ​​деңгээлинде аткарууга мүмкүндүк берет. пакет. Маселе 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) аркылуу иштей алат. Ethernet аркылуу иштөөдө, чабуул локалдык тармактан, ал эми UDP колдонгондо, порт брандмауэр менен жабылбаган болсо, глобалдык тармактан жүргүзүлүшү мүмкүн. Кол салуу хосттун артыкчылыксыз жергиликтүү колдонуучусу тарабынан да жасалышы мүмкүн. TIPCти активдештирүү үчүн, tipc.ko ядро ​​модулун жүктөп алып, netlink же tipc утилитасын колдонуу менен тармак интерфейсине туташтырууну конфигурациялашыңыз керек.

Source: opennet.ru

Комментарий кошуу