Linux කර්නලයේ VFS හි අවදානමක් ඇති අතර එය ඔබට ඔබේ වරප්‍රසාද ඉහළ නැංවීමට ඉඩ සලසයි.

Linux කර්නලය මඟින් සපයන ලද ගොනු පද්ධති සන්දර්භය API හි අවදානමක් (CVE-2022-0185) හඳුනාගෙන ඇත, එමඟින් දේශීය පරිශීලකයෙකුට පද්ධතිය මත root වරප්‍රසාද ලබා ගැනීමට ඉඩ සලසයි. ගැටලුව හඳුනාගත් පර්යේෂකයා පෙරනිමි වින්‍යාසය තුළ උබුන්ටු 20.04 හි මූල ලෙස කේතය ක්‍රියාත්මක කිරීමට ඔබට ඉඩ සලසන සූරාකෑමක නිරූපණයක් ප්‍රකාශයට පත් කළේය. බෙදාහැරීම් අවදානම නිවැරදි කරන යාවත්කාලීනයක් නිකුත් කිරීමෙන් පසු සතියක් ඇතුළත සූරාකෑමේ කේතය GitHub මත පළ කිරීමට සැලසුම් කර ඇත.

VFS හි ඇති legacy_parse_param() ශ්‍රිතයේ අවදානම පවතින අතර ගොනු පද්ධති සන්දර්භය API සඳහා සහය නොදක්වන ගොනු පද්ධතිවල ලබා දී ඇති උපරිම පරාමිති ප්‍රමාණය නිසි ලෙස පරීක්ෂා කිරීමට අසමත් වීම නිසා ඇති වේ. ඉතා විශාල පරාමිතියක් පසුකිරීමෙන් ලිවිය යුතු දත්තවල ප්‍රමාණය ගණනය කිරීමට භාවිතා කරන පූර්ණ සංඛ්‍යා විචල්‍යයේ පිටාර ගැලීමක් ඇති විය හැක - කේතයේ "if (len > PAGE_SIZE - 2 - size)" යන බෆර පිටාර ගැලීමක් ඇත, එය එසේ නොවේ. ප්‍රමාණයේ අගය 4094 ට වඩා වැඩි නම් වැඩ කරන්න. පහළ සීමාව හරහා පූර්ණ සංඛ්‍යා පිටාර ගැලීම සඳහා (නිඛිල යටි ප්‍රවාහය, අත්සන් නොකළ int වෙත 4096 - 2 - 4095 වාත්තු කරන විට, ප්‍රතිඵලය 2147483648 වේ).

මෙම දෝෂය මඟින් විශේෂයෙන් නිර්මාණය කරන ලද ගොනු පද්ධති රූපයක් වෙත ප්‍රවේශ වීමේදී, බෆරයක් පිටාර ගැලීමට සහ වෙන් කළ මතක ප්‍රදේශය අනුගමනය කරමින් කර්නල් දත්ත නැවත ලිවීමට ඉඩ සලසයි. අවදානම ගසාකෑමට, ඔබට CAP_SYS_ADMIN හිමිකම් තිබිය යුතුය, i.e. පරිපාලක බලතල. ගැටළුව වන්නේ පද්ධතියට පරිශීලක නාම අවකාශයන් සඳහා සහය සක්‍රීය කර ඇත්නම් වරප්‍රසාද ලත් පරිශීලකයෙකුට හුදකලා බහාලුමක් තුළ එවැනි අවසර ලබා ගත හැකි වීමයි. උදාහරණයක් ලෙස, Ubuntu සහ Fedora හි පෙරනිමියෙන් පරිශීලක නාම අවකාශයන් සක්‍රීය කර ඇත, නමුත් Debian සහ RHEL මත සක්‍රීය නොවේ (බහාලුම් හුදකලා වේදිකා භාවිතා නොකරන්නේ නම්).

ගැටලුව Linux kernel 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 -pp /etc/ sysctl.d/users.conf

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න