ரூட் சலுகைகளுடன் சேவையகத்தில் குறியீட்டை இயக்க அனுமதிக்கும் Exim இல் உள்ள முக்கியமான பாதிப்பு

Exim அஞ்சல் சேவையகத்தில் அடையாளம் காணப்பட்டது கிரிட்டிசெஸ்கயா பாதிப்பு (CVE-2019-10149), இது சிறப்பாக வடிவமைக்கப்பட்ட கோரிக்கையைச் செயலாக்கும்போது ரூட் உரிமைகளுடன் சேவையகத்தில் ரிமோட் குறியீடு செயல்படுத்தலுக்கு வழிவகுக்கும். 4.87 முதல் 4.91 வரையிலான பதிப்புகளில் அல்லது EXPERIMENTAL_EVENT விருப்பத்துடன் உருவாக்கும்போது சிக்கலைப் பயன்படுத்துவதற்கான சாத்தியக்கூறு குறிப்பிடப்பட்டுள்ளது.

இயல்புநிலை உள்ளமைவில், உள்ளூர் பயனரால் தேவையற்ற சிக்கல்கள் இல்லாமல் தாக்குதலை மேற்கொள்ள முடியும், ஏனெனில் "சரிபார்ப்பு = பெறுநர்" ACL பயன்படுத்தப்படுகிறது, இது வெளிப்புற முகவரிகளுக்கான கூடுதல் சோதனைகளை செய்கிறது. மற்றொரு டொமைனுக்கான இரண்டாம் நிலை MX ஆகச் செயல்படுதல், "verify=recipient" ACL ஐ அகற்றுதல் அல்லது local_part_suffix இல் சில மாற்றங்கள் போன்ற அமைப்புகளை மாற்றும்போது தொலைநிலை தாக்குதல் ஏற்படலாம். தாக்குபவர் சேவையகத்திற்கான இணைப்பை 7 நாட்களுக்குத் திறந்து வைத்திருக்க முடிந்தால் ரிமோட் அட்டாக் கூட சாத்தியமாகும் (உதாரணமாக, காலக்கெடுவைத் தவிர்க்க நிமிடத்திற்கு ஒரு பைட் அனுப்புவது). அதே நேரத்தில், சிக்கலை தொலைதூரத்தில் பயன்படுத்துவதற்கு எளிமையான தாக்குதல் திசையன்கள் இருப்பது சாத்தியமாகும்.

/src/deliver.c கோப்பில் வரையறுக்கப்பட்ட டெலிவரி_மெசேஜ்() செயல்பாட்டில் பெறுநரின் முகவரியின் தவறான சரிபார்ப்பினால் பாதிப்பு ஏற்படுகிறது. முகவரி வடிவமைப்பைக் கையாள்வதன் மூலம், தாக்குபவர் தனது தரவை ரூட் உரிமைகளுடன் execv() செயல்பாட்டின் மூலம் அழைக்கப்படும் கட்டளையின் வாதங்களில் மாற்றியமைக்க முடியும். செயல்பாட்டிற்கு இடையக வழிதல் அல்லது நினைவக சிதைவுகளுக்குப் பயன்படுத்தப்படும் சிக்கலான நுட்பங்களைப் பயன்படுத்த வேண்டிய அவசியமில்லை.

முகவரி மாற்றத்திற்கான கட்டமைப்பைப் பயன்படுத்துவதில் சிக்கல் தொடர்புடையது:

deliver_localpart = Expand_string(
string_sprintf("${local_part:%s}", new->முகவரி));
deliver_domain = Expand_string(
string_sprintf("${domain:%s}", new->address));

Expand_string() செயல்பாடானது, "${run{command arguments}" கட்டளையை அங்கீகரிப்பது உட்பட, ஒரு மிக சிக்கலான இணைப்பான் ஆகும், இது ஒரு வெளிப்புற கையாளுதலின் துவக்கத்திற்கு வழிவகுக்கிறது. எனவே, ஒரு SMTP அமர்விற்குள் தாக்க, உள்ளூர் பயனர் 'RCPT TO “username+${run{...}}@localhost”' போன்ற கட்டளையை மட்டுமே அனுப்ப வேண்டும், இங்கு local_domains பட்டியலில் உள்ள ஹோஸ்ட்களில் லோக்கல் ஹோஸ்ட் ஒன்றாகும், மற்றும் பயனர்பெயர் என்பது ஏற்கனவே உள்ள உள்ளூர் பயனரின் பெயர்.

சேவையகம் ஒரு அஞ்சல் ரிலேவாகச் செயல்பட்டால், 'RCPT க்கு "${run{...}}@relaydomain.com"' என்ற கட்டளையை தொலைவிலிருந்து அனுப்பினால் போதும், relaydomain.com என்பது relay_to_domains இல் பட்டியலிடப்பட்டுள்ள ஹோஸ்ட்களில் ஒன்றாகும். அமைப்புகள் பிரிவு. Exim ஆனது சலுகை பயன்முறையில் (deliver_drop_privilege = தவறானது) இயல்புநிலையாக இல்லாததால், "${run{...}}" வழியாக அனுப்பப்படும் கட்டளைகள் ரூட்டாகச் செயல்படுத்தப்படும்.

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

விநியோகங்களில் தொடர்ந்து பயன்படுத்தப்படும் முந்தைய பதிப்புகளுக்கான பிழைத்திருத்தம் தற்போது என மட்டுமே கிடைக்கிறது இணைப்பு. இந்தச் சிக்கலைச் சரிசெய்வதற்கான முந்தைய கிளைகளுக்கான திருத்த வெளியீடுகள் ஜூன் 11ஆம் தேதி திட்டமிடப்பட்டுள்ளது. தொகுப்பு புதுப்பிப்புகள் தயாராக உள்ளன டெபியன், உபுண்டு, openSUSE இல்லையா. ஆர்க் லினக்ஸ் и ஃபெடோரா அவை பதிப்பு 4.92 ஐ வழங்குகின்றன, இதில் சிக்கல் தோன்றாது. RHEL மற்றும் CentOS சிக்கல் எளிதில் பாதிக்கப்படுவதில்லை, Exim அவர்களின் வழக்கமான தொகுப்பு களஞ்சியத்தில் சேர்க்கப்படவில்லை என்பதால்.

ஆதாரம்: opennet.ru

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