ලිනක්ස් කර්නල් මට්ටමින් කේත ක්‍රියාත්මක කිරීමට ඉඩ සලසන eBPF උප පද්ධතියේ ඇති දුර්වලතා

eBPF උප පද්ධතිය තුළ නව දුර්වලතා දෙකක් හඳුනාගෙන ඇති අතර, JIT සමඟ විශේෂ අථත්‍ය යන්ත්‍රයක් තුළ Linux කර්නලය තුළ හසුරුවන්නන් ධාවනය කිරීමට ඔබට ඉඩ සලසයි. දුර්වලතා දෙකම හුදකලා eBPF අතථ්‍ය යන්ත්‍රයකින් පිටත කර්නල් අයිතීන් සමඟින් ඔබේ කේතය ක්‍රියාත්මක කිරීමට හැකි වේ. ගැටළු පිළිබඳ තොරතුරු Pwn2Own තරඟය පවත්වාගෙන යන Zero Day Initiative කණ්ඩායම විසින් ප්‍රකාශයට පත් කරන ලද අතර, මෙම වසරේදී Ubuntu Linux හි ප්‍රහාර තුනක් කලින් නොදන්නා දුර්වලතා භාවිතා කළ බව පෙන්නුම් කරන ලදී (eBPF හි ඇති දුර්වලතා මෙම ප්‍රහාරවලට සම්බන්ධද යන්න වාර්තා නොවේ) .

  • CVE-2021-3490 - eBPF ALU32 හි bitwise AND, OR, සහ XOR මෙහෙයුම් සිදු කරන විට 32-bit සීමාවෙන් පිටත පරීක්ෂා කිරීමේ ඌනතාවය නිසා අවදානම ඇති වේ. ප්‍රහාරකයෙකුට වෙන් කරන ලද බෆරයේ සීමාවෙන් පිටත දත්ත කියවීමට සහ ලිවීමට මෙම දෝෂයෙන් ප්‍රයෝජන ගත හැක. XOR මෙහෙයුම් වල ගැටළුව kernel අනුවාදය 5.7-rc1 සිට ආරම්භ වන අතර AND සහ OR - 5.10-rc1 සිට ආරම්භ වේ.
  • CVE-2021-3489 - අවදානමට හේතු වී ඇත්තේ මුදු බෆරය ක්‍රියාත්මක කිරීමේදී ඇති වූ දෝෂයක් නිසා වන අතර bpf_ringbuf_reserve ශ්‍රිතය මඟින් වෙන් කරන ලද මතක කලාපයේ ප්‍රමාණය සත්‍ය ප්‍රමාණයට වඩා අඩු විය හැකි බවට ඇති හැකියාව පරීක්ෂා නොකිරීමයි. ringbuf හි. 5.8-rc1 නිකුතුවේ සිට ගැටළුව දිස්වේ.

බෙදාහැරීම් වල ඇති දුර්වලතා වල තත්ත්වය මෙම පිටු වලින් නිරීක්ෂණය කළ හැක: Ubuntu, Debian, RHEL, Fedora, SUSE, Arch). නිවැරදි කිරීම් පැච් ලෙසද ලබා ගත හැකිය (CVE-2021-3489, CVE-2021-3490). ගැටලුව ප්‍රයෝජනයට ගත හැකිද යන්න රඳා පවතින්නේ eBPF පද්ධති ඇමතුම පරිශීලකයාට ප්‍රවේශ විය හැකිද යන්න මතය. උදාහරණයක් ලෙස, RHEL හි පෙරනිමි වින්‍යාසය තුළ, අවදානම සූරාකෑමට පරිශීලකයාට CAP_SYS_ADMIN හිමිකම් තිබීම අවශ්‍ය වේ.

වෙනමම, අපට ලිනක්ස් කර්නලයේ තවත් අවදානමක් සටහන් කළ හැකිය - CVE-2021-32606, එමඟින් දේශීය පරිශීලකයෙකුට ඔවුන්ගේ වරප්‍රසාද මූල මට්ටමට ඉහළ නැංවීමට ඉඩ සලසයි. ගැටලුව Linux kernel 5.11 සිට පැහැදිලි වී ඇති අතර එය CAN ISOTP ප්‍රොටෝකෝලය ක්‍රියාත්මක කිරීමේදී ධාවන තත්වයක් නිසා ඇති වූවක් වන අතර එමඟින් isotp_setsockopt() ශ්‍රිතයේ නිසි අගුලු සැකසීමේ ඌනතාවය හේතුවෙන් සොකට් බන්ධන පරාමිති වෙනස් කිරීමට හැකි වේ. CAN_ISOTP_SF_BROADCAST ධජය සකසන විට.

ISOTP සොකට් එක වසා දැමීමෙන් පසුව, ලබන්නාගේ සොකට් එකට බැඳීම ක්‍රියාත්මකව පවතින අතර, ඒවාට සම්බන්ධ මතකය නිදහස් කිරීමෙන් පසුව සොකට් එකට සම්බන්ධ ව්‍යුහයන් දිගටම භාවිතා කළ හැක (isotp_sock ව්‍යුහයකට ඇමතුමක් හේතුවෙන් භාවිතා කිරීමෙන් පසු-නොමිලේ. isotp_rcv() ඇමතූ විට එය දැනටමත් නිදහස් කර ඇත. දත්ත හැසිරවීම හරහා, ඔබට sk_error_report() ශ්‍රිතයට පොයින්ටරය අභිබවා ගොස් කර්නල් මට්ටමින් ඔබේ කේතය ක්‍රියාත්මක කළ හැක.

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

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