සියලුම ලිනක්ස් බෙදාහැරීම් වල root ප්‍රවේශය ලබා ගැනීම සඳහා පිටු හැඹිලිය වෙනස් කරන Dirty Frag අවදානම්.

ලිනක්ස් කර්නලයේ අවදානම් දෙකක් සොයාගෙන ඇත. මෙම අවදානම් දින කිහිපයකට පෙර අනාවරණය කරන ලද පිටපත් අසාර්ථක අවදානමට සමාන ස්වභාවයක් ගනී, නමුත් ඒවා විවිධ උප පද්ධති වලට බලපායි - xfrm-ESP සහ RxRPC. මෙම අවදානම් මාලාව Dirty Frag (පිටපත් අසාර්ථකත්වය 2 ලෙසද හැඳින්වේ) ලෙස කේත නාමයෙන් නම් කර ඇත. මෙම අවදානම් මඟින් වරප්‍රසාද නොලත් පරිශීලකයෙකුට පිටු හැඹිලියේ ක්‍රියාවලි දත්ත නැවත ලිවීමෙන් මූල වරප්‍රසාද ලබා ගැනීමට ඉඩ සලසයි. සියලුම වත්මන් ලිනක්ස් බෙදාහැරීම් මත ක්‍රියා කරන සූරාකෑමක් තිබේ. පැච් ප්‍රකාශයට පත් කිරීමට පෙර අවදානම අනාවරණය කරන ලදී, නමුත් විසඳුමක් තිබේ.

Dirty Frag විවිධ අවදානම් දෙකක් ආවරණය කරයි: පළමුවැන්න xfrm-ESP මොඩියුලයේ, ESP (Encapsulating Security Payload) ප්‍රොටෝකෝලය භාවිතයෙන් IPsec සංකේතාංකන මෙහෙයුම් වේගවත් කිරීමට භාවිතා කරන අතර, දෙවැන්න RxRPC ධාවකයේ, එය AF_RXRPC සොකට් පවුල සහ UDP හරහා ක්‍රියාත්මක වන එකම නමේ RPC ප්‍රොටෝකෝලය ක්‍රියාත්මක කරයි. සෑම අවදානමක්ම වෙන වෙනම ගත් විට, මූල වරප්‍රසාද සඳහා ඉඩ ලබා දේ. xfrm-ESP අවදානම 2017 ජනවාරි සිට Linux කර්නලයේ පවතින අතර RxRPC අවදානම 2023 ජුනි සිට පවතී. ගැටළු දෙකම පිටු හැඹිලියට සෘජුවම ලිවීමට ඉඩ සලසන ප්‍රශස්තිකරණයන් නිසා ඇතිවේ.

xfrm-ESP අවදානම ගසාකෑමට, පරිශීලකයාට නාම අවකාශයන් නිර්මාණය කිරීමට අවසර තිබිය යුතු අතර, RxRPC අවදානම ගසාකෑමට, rxrpc.ko කර්නල් මොඩියුලය පූරණය කළ යුතුය. උදාහරණයක් ලෙස, Ubuntu හි, AppArmor නීති මගින් වරප්‍රසාද නොලත් පරිශීලකයින් නාම අවකාශයන් නිර්මාණය කිරීම වළක්වයි, නමුත් rxrpc.ko මොඩියුලය පෙරනිමියෙන් පූරණය වේ. සමහර බෙදාහැරීම් වල rxrpc.ko මොඩියුලය නොමැති නමුත් නාම අවකාශය නිර්මාණය අවහිර නොකරයි. ගැටළුව සොයාගත් පර්යේෂකයා, අවදානම් දෙකම හරහා පද්ධතියට පහර දිය හැකි ඒකාබද්ධ සූරාකෑමක් සංවර්ධනය කළ අතර, එමඟින් සියලුම ප්‍රධාන බෙදාහැරීම් වල ගැටලුව ගසාකෑමට හැකි විය. මෙම exploit එක Ubuntu 24.04.4 kernel 6.17.0-23, RHEL 10.1 kernel 6.12.0-124.49.1, openSUSE Tumbleweed kernel 7.0.2-1, CentOS Stream 10 kernel 6.12.0-224, AlmaLinux 10 kernel 6.12.0-124.52.3, සහ Fedora 44 kernel 6.19.14-300 මත ක්‍රියාත්මක වන බව තහවුරු කර ඇත.

පිටපත් කිරීමේ අසාර්ථකත්වයේ අවදානම මෙන්ම, xfrm-ESP සහ RxRPC හි ගැටළු ඇති වන්නේ splice() ශ්‍රිතය භාවිතයෙන් ස්ථානීය දත්ත විකේතනය කිරීමෙනි, එය පිටු හැඹිලියේ ඇති මූලද්‍රව්‍ය වෙත යොමු කිරීම් ලබා දීමෙන්, පිටපත් කිරීමකින් තොරව ගොනු විස්තර කරන්නන් සහ පයිප්ප අතර දත්ත මාරු කරයි. පිටු හැඹිලියේ ඇති මූලද්‍රව්‍ය වෙත සෘජු යොමු කිරීම් භාවිතා කිරීම සඳහා නිසි පරීක්ෂාවකින් තොරව ලිවීමේ ඕෆ්සෙට් ගණනය කරන ලද අතර, විශේෂයෙන් නිර්මාණය කරන ලද ඉල්ලීම් වලට දී ඇති ඕෆ්සෙට් එකකදී බයිට් 4 ක් උඩින් ලිවීමට සහ පිටු හැඹිලියේ ඇති ඕනෑම ගොනුවක අන්තර්ගතය වෙනස් කිරීමට ඉඩ සලසයි.

සියලුම ගොනු කියවීමේ මෙහෙයුම් පළමුව පිටු හැඹිලියෙන් අන්තර්ගතය ලබා ගනී. පිටු හැඹිලියේ දත්ත වෙනස් කර ඇත්නම්, ගොනු කියවීමේ මෙහෙයුම් මඟින් ධාවකයේ ගබඩා කර ඇති සත්‍ය තොරතුරු නොව ආදේශක දත්ත ආපසු ලබා දෙනු ඇත. අවදානම සූරාකෑම යනු suid root ධජය සහිත ක්‍රියාත්මක කළ හැකි ගොනුවක් සඳහා පිටු හැඹිලිය වෙනස් කිරීම දක්වා අඩු කිරීමයි. උදාහරණයක් ලෙස, මූල වරප්‍රසාද ලබා ගැනීම සඳහා, කෙනෙකුට /usr/bin/su ක්‍රියාත්මක කළ හැකි ගොනුව පිටු හැඹිලියේ තැබීමට කියවිය හැකි අතර, පසුව ඔවුන්ගේම කේතය පිටු හැඹිලියට පටවා ඇති මෙම ගොනුවේ අන්තර්ගතයට ආදේශ කළ හැකිය. "su" උපයෝගීතාවයේ පසුව ක්‍රියාත්මක කිරීමෙන් පිටු හැඹිලියෙන් වෙනස් කළ පිටපත මතකයට පටවනු ලැබේ, ධාවකයෙන් මුල් ක්‍රියාත්මක කළ හැකි ගොනුව නොවේ.

අවදානම් හෙළිදරව් කිරීම සහ පැච් සම්බන්ධීකරණය කිරීම මැයි 12 වන දිනට සැලසුම් කර තිබුණද, කාන්දුවක් හේතුවෙන්, පැච් නිකුත් කිරීමට පෙර අවදානම් තොරතුරු ප්‍රකාශයට පත් කිරීමට සිදු විය. අප්‍රේල් අග දී, rxrpc, ipsec සහ xfrm සඳහා පැච් netdev පොදු තැපැල් ලැයිස්තුවට ඒවා අවදානමට සම්බන්ධ බව සඳහන් නොකර පළ කරන ලදී. මැයි 5 වන දින, IPsec උප පද්ධති නඩත්තු කරන්නා xfrm-esp මොඩියුලයේ යෝජිත විසඳුමක් සමඟ netdev Git ගබඩාවට වෙනසක් පිළිගත්තේය. වෙනස පිළිබඳ විස්තරය algif_aead මොඩියුලයේ පිටපත් අසාර්ථක අවදානමට හේතු වූ ගැටලුවේ විස්තරයට බොහෝ දුරට සමාන විය. ආරක්ෂක පර්යේෂකයෙකු මෙම නිවැරදි කිරීම ගැන උනන්දු වී, ක්‍රියාකාරී සූරාකෑමක් නිර්මාණය කිරීමට සමත් වූ අතර, එය ප්‍රකාශයට පත් කළේ මැයි 12 වන දින දක්වා ගැටලුව පිළිබඳ තොරතුරු හෙළි කිරීම සඳහා සම්බාධක පනවා ඇති බව නොදැන ය.

බෙදාහැරීම්වල ඇති ලිනක්ස් කර්නලය සහ කර්නල් පැකේජ සඳහා නිවැරදි කිරීම් සහිත යාවත්කාලීන කිරීම් තවමත් ප්‍රකාශයට පත් කර නොමැත, නමුත් ගැටළු නිරාකරණය කරන පැච් තිබේ - xfrm-esp සහ rxrpc. CVE හඳුනාගැනීම් පවරා නොමැති අතර, එය බෙදාහැරීම්වල පැකේජ යාවත්කාලීන කිරීම් නිරීක්ෂණය කිරීම සංකීර්ණ කරයි. විසඳුමක් ලෙස, ඔබට esp4, esp6 සහ rxrpc කර්නල් මොඩියුල පැටවීම අවහිර කළ හැකිය: sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"

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