UDP පැකට්ටුවක් යැවීමෙන් බිඳවැටීමක් ඇති කළ හැකි Linux කර්නලයේ ඇති අවදානම

ලිනක්ස් කර්නලයේ හඳුනාගෙන ඇත අවදානම (CVE-2019-11683), විශේෂයෙන් නිර්මාණය කරන ලද UDP පැකට් (මරණ පැකට්) යැවීමෙන් දුරස්ථව සේවා ප්‍රතික්ෂේප කිරීමක් සිදු කිරීමට ඔබට ඉඩ සලසයි. GRO (Generic Receive Offload) තාක්‍ෂණය ක්‍රියාත්මක කිරීමත් සමඟ udp_gro_receive_segment හසුරුවෙහි (net/ipv4/udp_offload.c) දෝෂයක් නිසා මෙම ගැටලුව ඇති වී ඇති අතර UDP පැකට් ශුන්‍ය පිරවුමකින් සැකසීමේදී කර්නල් මතක ප්‍රදේශ වල අන්තර්ගතය දූෂණය වීමට හේතු විය හැක. (හිස් ගෙවීම).

ගැටළුව බලපාන්නේ කර්නලයට පමණි 5.0UDP සොකට් සඳහා GRO සහාය ඇති බැවින් ක්රියාත්මක කර ඇත පසුගිය වසරේ නොවැම්බර් මාසයේදී සහ නවතම ස්ථාවර කර්නල් නිකුතුවට පමණක් පිවිසීමට සමත් විය. GRO තාක්‍ෂණය මඟින් එක් එක් පැකට්ටුවේ වෙනම සැකසුම් අවශ්‍ය නොවන විශාල කොටස් වලට බහු පැකට් එකතු කිරීමෙන් ලැබෙන පැකට් විශාල සංඛ්‍යාවක් සැකසීම වේගවත් කිරීමට ඔබට ඉඩ සලසයි.
TCP සඳහා, මෙම ප්‍රොටෝකෝලය ගෙවීමකින් තොරව පැකට් එකතු කිරීමට සහය නොදක්වන බැවින්, ගැටළුව ඇති නොවේ.

අනාරක්ෂිත බව මෙතෙක් ස්ථාවර කර ඇත්තේ පෝරමයේ පමණි පැච්, නිවැරදි කිරීමේ යාවත්කාලීනය තවමත් ප්‍රකාශයට පත් කර නොමැත (ඊයේ යාවත්කාලීන 5.0.11 නිවැරදි කිරීම ඇතුළත් නොවේ) බෙදාහැරීමේ කට්ටල වලින්, කර්නල් 5.0 ඇතුළත් කිරීමට සමත් විය Fedora 30, උබුන්ටු 19.04, ආෆ්ට් ලිනක්ස්, ජෙන්ටූ සහ අනෙකුත් අඛණ්ඩ යාවත්කාලීන බෙදාහැරීම්. ඩේබියන්, උබුන්ටු 18.10 සහ ඊට පෙර, RHEL/CentOS и SUSE/openSUSE ගැටලුව බලපාන්නේ නැත.

එහි ප්රතිඵලයක් ලෙස ගැටලුව සොයා ගන්නා ලදී භාවිතය Google විසින් නිර්මාණය කරන ලද ස්වයංක්‍රීය අපැහැදිලි පරීක්ෂණ පද්ධතිය syzbot සහ විශ්ලේෂකය කසන් (KernelAddressSanitizer), මතකය සමඟ වැඩ කිරීමේදී ඇති වන දෝෂ සහ නිදහස් මතක ප්‍රදේශ වෙත ප්‍රවේශ වීම සහ එවැනි උපාමාරු සඳහා අදහස් නොකරන මතක ප්‍රදේශවල කේතය තැබීම වැනි වැරදි මතක ප්‍රවේශය පිළිබඳ කරුණු හඳුනා ගැනීම අරමුණු කර ගෙන ඇත.

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

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