Осебпазирӣ дар ld.so OpenBSD

Боркунаки динамикӣ лд, ки ба OpenBSD дохил карда шудааст, метавонад дар шароити муайян SUID/SGID- барномаҳо тағирёбандаи муҳити LD_LIBRARY_PATHро тарк мекунанд ва ба ин васила имкон медиҳанд, ки коди тарафи сеюм дар контексти раванде, ки бо имтиёзҳои баланд иҷро мешавад, бор карда шавад. Часбҳое, ки осебпазириро ислоҳ мекунанд, барои нашрҳо дастрасанд 6.5 и 6.6. часбҳои дуӣ (syspatch) барои платформаҳои amd64, i386 ва arm64 аллакай дар истеҳсолот ҳастанд ва бояд то замони нашри ин хабар барои зеркашӣ дастрас бошанд.

Моњияти масъала: ld.so њангоми кор аввал арзиши таѓйирёбандаи LD_LIBRARY_PATH-ро аз муњит берун мекунад ва бо истифода аз функсияи _dl_split_path() онро ба массиви сатр - роњњо ба каталогњо табдил медињад. Агар баъдтар маълум шавад, ки раванди ҷорӣ аз ҷониби барномаи SUID/SGID оғоз мешавад, пас массиви сохташуда ва воқеан тағирёбандаи LD_LIBRARY_PATH тоза карда мешавад. Дар айни замон, агар _dl_split_path() аз хотира тамом шавад (ки аз сабаби маҳдудияти возеҳ 256 кБ оид ба андозаи тағирёбандаҳои муҳити зист мушкил аст, аммо аз ҷиҳати назариявӣ имконпазир аст), пас тағирёбандаи _dl_libpath арзиши NULL ва санҷиши минбаъдаро мегирад аз арзиши ин тағирёбанда боиси гузариш ба занг ба _dl_unsetenv ("LD_LIBRARY_PATH") мегардад.

Заифии аз ҷониби коршиносон пайдошуда Qualy, инчунин чанде пештар ошкор карда шуданд мушкилот. Муҳаққиқони амният, ки осебпазириро муайян карданд, қайд карданд, ки мушкилот то чӣ андоза зуд ҳал карда шуд: ямоқи омода карда шуд ва навсозиҳо дар давоми се соат пас аз гирифтани огоҳиномаи лоиҳаи OpenBSD нашр шуданд.

Илова: Ба мушкилот рақам дода шудааст CVE-2019-19726. Дар рӯйхати почтаи электронии oss-амният сохта шудааст эълони расмй, аз ҷумла як эксплоити прототипи, ки дар меъмории OpenBSD 6.6, 6.5, 6.2 ва 6.1 кор мекунад
amd64 ва i386 (эксплоитро барои дигар меъморӣ мутобиқ кардан мумкин аст).
Мушкилот дар насби пешфарз истифода мешавад ва ба корбари беимтиёзи маҳаллӣ имкон медиҳад, ки кодро ҳамчун реша тавассути иваз кардани китобхона ҳангоми иҷро кардани утилитаҳои chpass ё passwd suid иҷро кунад. Барои фароҳам овардани шароити каммасрафи хотираи зарурӣ, ки барои кор лозим аст, лимити RLIMIT_DATA-ро тавассути setrlimit муқаррар кунед.

Манбаъ: opennet.ru

Илова Эзоҳ