Linux ядросунун tty подсистемасынын кемчилигин пайдалануу ыкмасы ачылды

Google Project Zero командасынын изилдөөчүлөрү Linux ядросунун tty подсистемасынан TIOCSPGRP ioctl иштеткичтерин ишке ашырууда аялуу жерди (CVE-2020-29661) пайдалануу ыкмасын жарыялашты, ошондой эле мындай бөгөт коюучу коргоо механизмдерин деталдуу түрдө карап чыгышты. алсыздыктар.

Көйгөйдү пайда кылган мүчүлүштүк өткөн жылдын 3-декабрында Linux ядросунда оңдолгон. Көйгөй 5.9.13 версиясына чейинки ядролордо пайда болот, бирок көпчүлүк дистрибуциялар өткөн жылы сунуш кылынган ядролук пакеттерге жаңыртуулардагы көйгөйдү чечкен (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Ушундай эле алсыздык (CVE-2020-29660) TIOCGSID ioctl чакырыгын ишке ашырууда бир эле учурда табылган, бирок ал бардык жерде оңдолгон.

Көйгөй кулпуларды орнотуудагы катадан келип чыгат, бул drivers/tty/tty_jobctrl.c кодундагы жарыш абалына алып келет, ал TIOCSPGRP чалуу аркылуу колдонуучу мейкиндигинен ioct манипуляциялары аркылуу эксплуатациялануучу акысыз шарттарды түзүү үчүн колдонулган. 10-4.19.0-amd13 ядросу менен Debian 64до артыкчылыктарды жогорулатуу үчүн жумушчу эксплуатация көрсөтүлдү.

Ошол эле учурда жарыяланган макалада жумушчу эксплуатацияны түзүү техникасына эмес, ядродо мындай алсыздыктардан коргоо үчүн кандай куралдар бар экенине көңүл бурулат. Корутунду жубатарлык эмес; уймекте эстутум сегментациялоо жана эстутум боштондукка чыккандан кийин кирүү мүмкүнчүлүгүн көзөмөлдөө сыяктуу ыкмалар иш жүзүндө колдонулбайт, анткени алар өндүрүмдүүлүктүн төмөндөшүнө алып келет жана CFI (Control Flow Integrity) негизинде коргоо чабуулдун кийинки этаптарында эксплуатацияларды бөгөттөйт, жакшыртууну талап кылат.

Узак мөөнөттүү келечекте эмне өзгөрөрүн карап жатканда, өнүккөн статикалык анализаторлорду колдонуу же эстутумда коопсуз тилдерди, мисалы, Rust жана C диалектилерин текшерүү үчүн бай аннотациялары бар (мисалы, Checked C) колдонуу өзгөчөлөнөт. куруу баскычындагы абал. кулпулар, объекттер жана көрсөткүчтөр. Коргоо ыкмаларына ошондой эле panic_on_oops режимин активдештирүү, ядро ​​түзүмдөрүн окуу үчүн гана режимге которуу жана seccomp сыяктуу механизмдерди колдонуу менен системалык чалууларга кирүү мүмкүнчүлүгүн чектөө кирет.

Source: opennet.ru

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