අමු බ්ලොක් උපාංග දත්ත කියවීමට ඉඩ දෙන XFS හි අවදානම

XFS ගොනු පද්ධති කේතය තුළ අවදානමක් (CVE-2021-4155) හඳුනාගෙන ඇති අතර එමඟින් දේශීය වරප්‍රසාද ලත් පරිශීලකයෙකුට බ්ලොක් උපාංගයකින් භාවිතා නොකළ බ්ලොක් දත්ත කෙලින්ම කියවීමට ඉඩ සලසයි. XFS ධාවක අඩංගු 5.16 ට වඩා පැරණි ලිනක්ස් කර්නලයේ සියලුම ප්‍රධාන අනුවාද මෙම ගැටළුවට බලපායි. නිවැරදි කිරීම 5.16 අනුවාදයේ මෙන්ම කර්නල් යාවත්කාලීන 5.15.14, 5.10.91, 5.4.171, 4.19.225, ආදියෙහි ඇතුළත් කර ඇත. බෙදාහැරීමේ ගැටලුව විසඳීම සඳහා උත්පාදනය වන යාවත්කාලීනවල තත්ත්වය මෙම පිටුවල නිරීක්ෂණය කළ හැක: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

XFS-විශේෂිත ioctl(XFS_IOC_ALLOCSP) සහ ioctl(XFS_IOC_FREESP) දෙකක වැරදි හැසිරීම හේතුවෙන් මෙම අවදානම ඇතිවේ, ඒවා කර්නලය පුරා ඇති ෆෝලෝකේට්() පද්ධති ඇමතුමේ ක්‍රියාකාරී ප්‍රතිසමයකි. වාරණ-පෙළගැසී නැති ගොනු ප්‍රමාණය වැඩි කරන විට, ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP මීළඟ වාරණ මායිම තෙක් වලිග බයිට් බිංදුවට යළි සකසන්නේ නැත. මේ අනුව, බයිට් 4096 ක සම්මත බ්ලොක් ප්‍රමාණයකින් යුත් XFS මත, ප්‍රහාරකයෙකුට එක් එක් බ්ලොක් එකකින් පෙර ලිඛිත දත්ත බයිට් 4095ක් දක්වා කියවිය හැක. මෙම ප්‍රදේශ වල මකාදැමුණු ගොනු, defragmented ගොනු සහ duplicated blocks සහිත ගොනු වලින් දත්ත අඩංගු විය හැක.

ඔබට සරල සූරාකෑමේ මූලාකෘතියක් භාවිතයෙන් ගැටලුව සඳහා ඔබේ පද්ධතිය පරීක්ෂා කළ හැකිය. යෝජිත විධාන අනුපිළිවෙල ක්‍රියාත්මක කිරීමෙන් පසු, ෂේක්ස්පියර්ගේ පෙළ කියවීමට හැකි නම්, FS ධාවකය අවදානමට ලක් වේ. ආදර්ශණය සඳහා XFS කොටසක් ස්ථාපනය කිරීම සඳහා මුලික වරප්‍රසාද අවශ්‍ය වේ.

ioctl(XFS_IOC_ALLOCSP) සහ ioctl(XFS_IOC_FREESP) ක්‍රියාකාරීත්වයේ ප්‍රායෝගිකව සම්මත fallocate() ලෙස සමාන වන අතර ඒවායේ වෙනස දත්ත කාන්දු වීම පමණක් බැවින්, ඒවායේ පැවැත්ම පිටුපස දොරකට සමාන වේ. කර්නලයේ පවතින අතුරුමුහුණත් වෙනස් නොකිරීමේ සාමාන්‍ය ප්‍රතිපත්තිය තිබියදීත්, ලිනස්ගේ යෝජනාව අනුව, ඊළඟ අනුවාදයේදී මෙම ioctls සම්පූර්ණයෙන්ම ඉවත් කිරීමට තීරණය විය.

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

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