осебпазирӣ дар VFS-и ядрои Linux, ки ба шумо имкон медиҳад, ки имтиёзҳои худро афзоиш диҳед

Дар API Context Filesystem, ки аз ҷониби ядрои Linux пешниҳод шудааст, осебпазирӣ (CVE-2022-0185) муайян шудааст, ки ба корбари маҳаллӣ имкон медиҳад, ки дар система имтиёзҳои решавӣ ба даст орад. Муҳаққиқе, ки мушкилотро муайян кардааст, намоиши истисморро нашр кард, ки ба шумо имкон медиҳад кодро ҳамчун реша дар Ubuntu 20.04 дар конфигуратсияи пешфарз иҷро кунед. Қарор аст, ки рамзи истисмор дар GitHub дар давоми як ҳафта пас аз интишори навсозӣ, ки осебпазириро ислоҳ мекунад, интишор шавад.

Ин осебпазирӣ дар функсияи legacy_parse_param() дар VFS мавҷуд аст ва он дар натиҷаи дуруст тафтиш накардани андозаи ҳадди аксар параметрҳое, ки дар системаҳои файлӣ пешниҳод шудаанд, ки API-и Filesystem Context-ро дастгирӣ намекунанд, ба вуҷуд омадааст. Гузаронидани параметре, ки аз ҳад калон аст, метавонад боиси фаромадани тағирёбандаи бутун гардад, ки барои ҳисоб кардани андозаи маълумоти навишташаванда истифода мешавад - код дорои санҷиши буферии фаромадани "агар (len > PAGE_SIZE - 2 - андоза)" аст, ки ин тавр намекунад кор агар арзиши андоза бузургтар аз 4094 бошад. барои изофаи ададҳо тавассути сарҳади поёнӣ (аз поёни адад, ҳангоми рехтани 4096 - 2 - 4095 ба int беимзо, натиҷа 2147483648 аст).

Ин хато имкон медиҳад, ки ҳангоми дастрасӣ ба тасвири системаи файлии махсус тарҳрезишуда боиси фаромадани буфер гардад ва пас аз майдони хотираи ҷудошуда маълумоти ядроро аз нав нависед. Барои истифодаи осебпазирӣ, шумо бояд ҳуқуқҳои CAP_SYS_ADMIN дошта бошед, яъне. ваколатҳои маъмур. Мушкилот дар он аст, ки корбари беимтиёз метавонад чунин иҷозатҳоро дар як контейнери ҷудогона ба даст орад, агар система дастгирии фазои номи корбарро фаъол карда бошад. Масалан, фазоҳои номи корбар ба таври нобаёнӣ дар Ubuntu ва Fedora фаъол карда мешаванд, аммо дар Debian ва RHEL фаъол нестанд (агар платформаҳои изолятсияи контейнер истифода нашаванд).

Мушкилот аз замони ядрои Linux 5.1 пайдо мешавад ва дар навсозиҳои дирӯзи 5.16.2, 5.15.16, 5.10.93, 5.4.173 ислоҳ карда шуд. Навсозиҳои бастаҳое, ки осебпазириро ислоҳ мекунанд, аллакай барои RHEL, Debian, Fedora ва Ubuntu бароварда шудаанд. Ислоҳ дар Arch Linux, Gentoo, SUSE ва openSUSE ҳанӯз дастрас нест. Ҳамчун як роҳи ҳалли амният барои системаҳое, ки ҷудокунии контейнерро истифода намебаранд, шумо метавонед арзиши sysctl "user.max_user_namespaces" -ро ба 0 таъин кунед: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/sysctl.d/userns.conf

Манбаъ: opennet.ru

Илова Эзоҳ