Linux ядросунун eBPF подсистемасындагы аялуу жерлер

eBPF подсистемасында аялуу (CVE-2021-29154) аныкталды, ал сизге JIT менен атайын виртуалдык машинада Linux өзөгүндө аткарылган трафикти башкаруу, көзөмөлдөө, талдоо жүргүзүү үчүн иштеткичтерди иштетүүгө мүмкүндүк берет. жергиликтүү колдонуучу өз кодунун ядро ​​деңгээлинде аткарылышына жетишүү үчүн. Көйгөй 5.11.12 (кошкондо) чыкканга чейин пайда болот жана бөлүштүрүүдө (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch) али чечиле элек. Оңдоо патч катары жеткиликтүү.

Алсыздыкты аныктаган изилдөөчүлөрдүн айтымында, алар 32 жана 64 биттик x86 системалары үчүн эксплуатациянын жумушчу прототибин иштеп чыга алышкан, аны артыкчылыксыз колдонуучу колдоно алат. Бирок, Red Hat көйгөйдүн оордугу eBPF тутумунун чалуусунун колдонуучу үчүн жеткиликтүү же жеткиликтүү экендигине байланыштуу экенин белгилейт. Мисалы, демейки конфигурациядагы RHEL жана башка көпчүлүк Linux дистрибуцияларында BPF JIT иштетилсе жана колдонуучу CAP_SYS_ADMIN укуктарына ээ болсо, алсыздык пайдаланылышы мүмкүн. Чечим катары, BPF JITти төмөнкү буйрукту колдонуу менен өчүрүү сунушталат: echo 0 > /proc/sys/net/core/bpf_jit_enable

Көйгөй JIT компиляторунун машина кодун түзүү процессинде тармактык инструкциялар үчүн офсетти эсептөөдөгү катадан келип чыккан. Атап айтканда, тармактык инструкцияларды түзүүдө оптималдаштыруу стадиясынан өткөндөн кийин офсет өзгөрүшү мүмкүн экенин эске албайт. Бул кемчилик аномалдуу машина кодун түзүү жана аны ядро ​​деңгээлинде аткаруу үчүн колдонулушу мүмкүн.

Белгилей кетчү нерсе, бул акыркы учурда eBPF подсистемасындагы жалгыз аялуу эмес. Март айынын аягында ядродо дагы эки алсыздык аныкталган (CVE-2020-27170, CVE-2020-27171), бул eBPFди Spectre классынын алсыздыктарынан коргоону айланып өтүү үчүн колдонууга мүмкүндүк берет, бул ядро ​​эс тутумунун мазмунун аныктоого мүмкүндүк берет. кээ бир операцияларды алып-сатарлык менен ишке ашыруу үчүн шарттарды түзүүнүн натыйжасында . Spectre чабуулу артыкчылыктуу коддо буйруктардын белгилүү бир ырааттуулугунун болушун талап кылат, ал инструкциялардын спекулятивдүү аткарылышына алып келет. eBPFде, аткаруу үчүн берилген BPF программалары менен манипуляциялар аркылуу мындай көрсөтмөлөрдү түзүүнүн бир нече жолдору табылган.

CVE-2020-27170 аялуулугу BPF текшерүүчүсүндөгү көрсөткүчтөрдү манипуляциялоодон улам келип чыгат, ал буфердик чектерден тышкары аймакка жетүү үчүн алып-сатарлык операцияларды жаратат. CVE-2020-27171 аялуулугу көрсөткүчтөр менен иштөөдө бүтүн сандын азайышынан улам келип чыккан, бул буферден тышкаркы маалыматтарга спекулятивдүү кирүүгө алып келет. Бул көйгөйлөр буга чейин 5.11.8, 5.10.25, 5.4.107, 4.19.182 жана 4.14.227 ядро ​​релиздеринде оңдолгон жана ошондой эле Linux дистрибьюцияларынын көбү үчүн ядро ​​жаңыртууларына киргизилген. Окумуштуулар эксплуатациянын прототибин даярдашты, ал артыкчылыксыз колдонуучуга ядронун эс тутумунан маалыматтарды чыгарууга мүмкүндүк берет.

Source: opennet.ru

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