லினக்ஸ் கர்னல் மட்டத்தில் குறியீட்டை செயல்படுத்த அனுமதிக்கும் eBPF துணை அமைப்பில் பாதிப்பு

eBPF துணை அமைப்பில் ஒரு பாதிப்பு (CVE-2021-4204) அடையாளம் காணப்பட்டுள்ளது, இது JIT உடன் ஒரு சிறப்பு மெய்நிகர் இயந்திரத்தில் Linux கர்னலுக்குள் ஹேண்ட்லர்களை இயக்க உங்களை அனுமதிக்கிறது, இது ஒரு உள்ளூர் சலுகை பெறாத பயனரை சிறப்புரிமை அதிகரிப்பை அடைய மற்றும் அவர்களின் குறியீட்டை இயக்க அனுமதிக்கிறது. லினக்ஸ் கர்னல் நிலை. Linux kernel 5.8 இல் இருந்து இந்தச் சிக்கல் தோன்றி, அது சரி செய்யப்படாமல் உள்ளது (வெளியீடு 5.16 உட்பட). விநியோகங்களில் உள்ள சிக்கலைச் சரிசெய்ய உருவாக்கப்படும் புதுப்பிப்புகளின் நிலையை இந்தப் பக்கங்களில் கண்காணிக்கலாம்: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. ஒரு வேலை சுரண்டல் உருவாக்கப்பட்டது என்று அறிவிக்கப்பட்டுள்ளது, இது ஜனவரி 18 அன்று வெளியிட திட்டமிடப்பட்டுள்ளது (பாதிப்பை சரிசெய்ய பயனர்கள் மற்றும் டெவலப்பர்களுக்கு ஒரு வாரம் கொடுக்கப்பட்டுள்ளது).

செயல்படுத்துவதற்காக அனுப்பப்பட்ட eBPF நிரல்களின் தவறான சரிபார்ப்பினால் பாதிப்பு ஏற்படுகிறது. eBPF துணை அமைப்பு துணை செயல்பாடுகளை வழங்குகிறது, இதன் சரியான பயன்பாடு ஒரு சிறப்பு சரிபார்ப்பாளரால் சரிபார்க்கப்படுகிறது. சில செயல்பாடுகளுக்கு PTR_TO_MEM மதிப்பை வாதமாக அனுப்ப வேண்டும், மேலும் சாத்தியமான இடையக வழிதல்களைத் தடுக்க, வாதத்துடன் தொடர்புடைய நினைவகத்தின் அளவை சரிபார்ப்பவர் அறிந்திருக்க வேண்டும். bpf_ringbuf_submit மற்றும் bpf_ringbuf_discard செயல்பாடுகளுக்கு, மாற்றப்பட்ட நினைவகத்தின் அளவு பற்றிய தரவு சரிபார்ப்பானிடம் தெரிவிக்கப்படவில்லை, இது சிறப்பாக வடிவமைக்கப்பட்ட eBPF குறியீட்டை இயக்கும் போது இடையக எல்லைக்கு அப்பால் நினைவகப் பகுதிகளை மேலெழுதப் பயன்படும்.

ஒரு தாக்குதலை மேற்கொள்ள, பயனர் தனது சொந்த BPF நிரலை ஏற்ற முடியும், மேலும் பல சமீபத்திய Linux விநியோகங்கள் இந்த திறனை முன்னிருப்பாகத் தடுக்கின்றன (eBPFக்கான சலுகையற்ற அணுகல் உட்பட, இப்போது கர்னலில் இயல்பாகவே தடைசெய்யப்பட்டுள்ளது, வெளியீடு 5.16 இல் தொடங்குகிறது). எடுத்துக்காட்டாக, Ubuntu 20.04 LTS இல் உள்ள இயல்புநிலை உள்ளமைவில் பாதிப்பைப் பயன்படுத்திக் கொள்ள முடியும், ஆனால் Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 மற்றும் Fedora 33ஐ அமைத்தால் மட்டுமே சூழல்களில் ஃபெடோரா தோன்றும். kernel.unprivileged_bpf_disabled அளவுரு 0 க்கு. பாதிப்பைத் தடுப்பதற்கான ஒரு தீர்வாக, “sysctl -w kernel.unprivileged_bpf_disabled=1” என்ற கட்டளையின் மூலம் சலுகை இல்லாத பயனர்களால் BPF நிரல்களை செயல்படுத்துவதைத் தடுக்கலாம்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்