கூகிளின் ப்ராஜெக்ட் ஜீரோ குழுவைச் சேர்ந்த ஆராய்ச்சியாளர்கள், கெர்னலின் tty துணை அமைப்பிலிருந்து செயல்படும் TIOCSPGRP ioctl ஹேண்ட்லரின் செயலாக்கத்தில் உள்ள ஒரு பாதிப்பை (CVE-2020-29661) பயன்படுத்திக் கொள்வதற்கான ஒரு முறையை வெளியிட்டுள்ளனர். Linuxமேலும், அத்தகைய பாதிப்புகளைத் தடுக்கக்கூடிய பாதுகாப்பு வழிமுறைகளையும் விரிவாக ஆராய்ந்தது.
சிக்கலை ஏற்படுத்திய பிழை கெர்னலில் சரிசெய்யப்பட்டுவிட்டது. Linux கடந்த ஆண்டு டிசம்பர் 3 ஆம் தேதி. இந்தப் பிரச்சினை 5.9.13 பதிப்பிற்கு முந்தைய கெர்னல்களில் தோன்றுகிறது, ஆனால் பெரும்பாலான விநியோகங்கள் கடந்த ஆண்டு வெளியிடப்பட்ட கெர்னல் தொகுப்புப் புதுப்பிப்புகளில் இந்தப் பிரச்சினையைச் சரிசெய்துவிட்டன.Debian, RHEL, SUSE, Ubuntu(ஃபெடோரா, ஆர்ச்). TIOCGSID ioctl அழைப்பின் செயலாக்கத்தில் ஒரே நேரத்தில் இதேபோன்ற பாதிப்பு (CVE-2020-29660) கண்டறியப்பட்டது, ஆனால் அதுவும் ஏற்கனவே பரவலாக சரிசெய்யப்பட்டுவிட்டது.
பூட்டு அமைவுப் பிழையின் காரணமாக, drivers/tty/tty_jobctrl.c கோப்பில் ஒரு ரேஸ் கண்டிஷன் (race condition) ஏற்படுகிறது. இந்த ரேஸ் கண்டிஷனை வெற்றிகரமாகப் பயன்படுத்தி, TIOCSPGRP ioct அழைப்பைக் கையாளுவதன் மூலம் பயனர் வெளியிலிருந்து (user space) பயன்படுத்தக்கூடிய ஒரு 'யூஸ்-ஆஃப்டர்-ஃப்ரீ' (use-after-free) நிலை உருவாக்கப்பட்டது. சிறப்புரிமை உயர்விற்கான (privilege escalation) ஒரு செயல்படும் சுரண்டல் முறை இதில் நிரூபிக்கப்பட்டுள்ளது. Debian கர்னல் 4.19.0-13-amd64 உடன் 10.
வெளியிடப்பட்ட கட்டுரை, வேலை செய்யும் சுரண்டலை உருவாக்குவதற்கான நுட்பத்தில் குறைவாகவும், அத்தகைய பாதிப்புகளிலிருந்து பாதுகாப்பதற்கான தற்போதுள்ள கர்னல் கருவிகளில் அதிகமாகவும் கவனம் செலுத்துகிறது. முடிவு ஊக்கமளிக்கவில்லை: குவியல் நினைவகப் பிரிவு மற்றும் பிந்தைய-இலவச கட்டுப்பாடு போன்ற முறைகள் நடைமுறையில் பயன்படுத்தப்படுவதில்லை, ஏனெனில் அவை செயல்திறன் குறைவதற்கு வழிவகுக்கும், மேலும் தாக்குதலின் பிற்பகுதியில் சுரண்டல்களைத் தடுக்கும் CFI (கட்டுப்பாட்டு ஓட்ட ஒருங்கிணைப்பு) அடிப்படையிலான பாதுகாப்புக்கு மேலும் மேம்பாடு தேவைப்படுகிறது.
நீண்ட காலத்திற்கு நிலைமையை மேம்படுத்தக்கூடியவற்றைக் கருத்தில் கொள்ளும்போது, மேம்பட்ட நிலையான பகுப்பாய்விகள் அல்லது மேம்பட்ட குறிப்புகளுடன் கூடிய ரஸ்ட் மற்றும் சி கிளைமொழிகள் (எ.கா., சரிபார்க்கப்பட்ட சி) போன்ற நினைவக-பாதுகாப்பான மொழிகள் முன்னிலைப்படுத்தப்படுகின்றன. இந்த மொழிகள் உருவாக்க நேரத்தில் பூட்டுகள், பொருள்கள் மற்றும் சுட்டிகளின் நிலையைச் சரிபார்க்கின்றன. panic_on_oops ஐ செயல்படுத்துதல், கர்னல் கட்டமைப்புகளை படிக்க மட்டும் ஆக்குதல் மற்றும் seccomp போன்ற வழிமுறைகளைப் பயன்படுத்தி கணினி அழைப்புகளுக்கான அணுகலைக் கட்டுப்படுத்துதல் ஆகியவை பிற பரிந்துரைக்கப்பட்ட பாதுகாப்பு முறைகளில் அடங்கும்.
ஆதாரம்: opennet.ru
