මූල වරප්‍රසාද සහිතව සේවාදායකයේ කේතය ක්‍රියාත්මක කිරීමට ඉඩ සලසන Exim හි ඇති විවේචනාත්මක අවදානම

Exim තැපැල් සේවාදායකයේ හඳුනාගෙන ඇත විවේචනාත්මක අවදානම (CVE-2019-10149), විශේෂයෙන් සැකසූ ඉල්ලීමක් සැකසීමේදී මූල අයිතිවාසිකම් සමඟ සේවාදායකයේ දුරස්ථ කේත ක්‍රියාත්මක කිරීමට හේතු විය හැක. ගැටලුව සූරාකෑමේ හැකියාව 4.87 සිට 4.91 දක්වා අනුවාදවල හෝ EXPERIMENTAL_EVENT විකල්පය සමඟ ගොඩනඟන විට සටහන් කර ඇත.

පෙරනිමි වින්‍යාසයේදී, බාහිර ලිපින සඳහා අමතර චෙක්පත් සිදුකරන "verify = ලබන්නා" ACL යොදන බැවින්, දේශීය පරිශීලකයෙකුට අනවශ්‍ය සංකූලතා නොමැතිව ප්‍රහාරය සිදු කළ හැක. වෙනත් වසමක් සඳහා ද්විතියික MX ලෙස ක්‍රියා කිරීම, "verify=recipient" ACL ඉවත් කිරීම, හෝ local_part_suffix වෙත යම් යම් වෙනස් කිරීම් වැනි, සිටුවම් වෙනස් කළ විට දුරස්ථ ප්‍රහාරයක් සිදු විය හැක. ප්‍රහාරකයාට සේවාදායකයට සම්බන්ධය දින 7ක් විවෘතව තබාගත හැකි නම් දුරස්ථ ප්‍රහාරයක් ද කළ හැකිය (උදාහරණයක් ලෙස, කල් ඉකුත්වීම මඟ හැරීම සඳහා විනාඩියකට එක් බයිටයක් යැවීම). ඒ අතරම, ගැටලුව දුරස්ථ සූරාකෑම සඳහා සරල ප්රහාරක දෛශික ඇති විය හැකිය.

/src/deliver.c ගොනුවේ නිර්වචනය කර ඇති deliver_message() ශ්‍රිතයේ ලබන්නාගේ ලිපිනය වැරදි ලෙස සත්‍යාපනය කිරීම නිසා අවදානම ඇති වේ. ලිපින හැඩතල ගැන්වීම හැසිරවීමෙන්, ප්‍රහාරකයෙකුට ඔහුගේ දත්ත මූල අයිතිවාසිකම් සමඟ execv() ශ්‍රිතය හරහා කැඳවනු ලබන විධානයක තර්ක වලට ආදේශ කිරීම ලබා ගත හැක. මෙහෙයුම් සඳහා බෆර පිටාර ගැලීම් හෝ මතක දූෂණය සඳහා භාවිතා කරන සංකීර්ණ තාක්ෂණික ක්‍රම භාවිතා කිරීම අවශ්‍ය නොවේ; සරල අක්ෂර ආදේශනය ප්‍රමාණවත් වේ.

ගැටළුව ලිපින පරිවර්තනය සඳහා ඉදිකිරීම් භාවිතය හා සම්බන්ධ වේ:

deliver_localpart = Expand_string(
string_sprintf("${local_part:%s}", new->ලිපිනය));
deliver_domain = Expand_string(
string_sprintf("${domain:%s}", new->ලිපිනය));

Expand_string() ශ්‍රිතය යනු "${run{command arguments}" විධානය හඳුනාගැනීම ඇතුළුව, බාහිර හසුරුවන්නක් දියත් කිරීමට මඟ පාදයි. මේ අනුව, SMTP සැසියක් තුළ ප්‍රහාර එල්ල කිරීමට, ප්‍රාදේශීය පරිශීලකයෙකුට 'RCPT TO "username+${run{...}}@localhost"' වැනි විධානයක් යැවීමට අවශ්‍ය වේ, එහිදී localhost යනු local_domains ලැයිස්තුවෙන් සත්කාරකයන්ගෙන් එකකි, සහ පරිශීලක නාමය යනු දැනට පවතින දේශීය පරිශීලකයෙකුගේ නමයි.

සේවාදායකය තැපැල් රිලේ එකක් ලෙස ක්‍රියා කරන්නේ නම්, relaydomain.com යනු relay_to_domains හි ලැයිස්තුගත කර ඇති සත්කාරක වලින් එකක් වන 'RCPT TO "${run{...}}@relaydomain.com"' විධානය දුරස්ථව යැවීමට ප්‍රමාණවත් වේ. සැකසුම් අංශය. Exim වරප්‍රසාද ප්‍රකාරය අතහැරීමට පෙරනිමි නොවන බැවින් (deliver_drop_privilege = අසත්‍ය), "${run{...}}" හරහා යවන විධාන root ලෙස ක්‍රියාත්මක වේ.

අවදානමට ලක්ව තිබීම විශේෂත්වයකි ඉවත් කළා පෙබරවාරි මාසයේ නිකුත් කරන ලද 4.92 නිකුතුවේ, නිවැරදි කිරීම ආරක්ෂක ගැටළු වලට තුඩු දිය හැකි බව අවධාරණය නොකර. එක්සිම් සංවර්ධකයින් විසින් හිතාමතාම අවදානම සඟවා ඇති බව විශ්වාස කිරීමට හේතුවක් නැත, මන්ද ගැටළුව විසඳන ලද්දේ කාලය තුළදීය. නිවැරදි කිරීම් වැරදි ලිපින සම්ප්‍රේෂණය වන විට අසාර්ථක වන අතර, Exim හි වෙනස්කම් විගණනය කිරීමේදී අවදානම Qualys විසින් හඳුනා ගන්නා ලදී.

බෙදාහැරීම්වල දිගටම භාවිතා වන පෙර අනුවාද සඳහා විසඳුමක් දැනට ලබා ගත හැක්කේ ලෙස පමණි පැච්. ගැටළුව විසඳීම සඳහා පෙර ශාඛා සඳහා නිවැරදි නිකුතු ජුනි 11 දිනට සැලසුම් කර ඇත. පැකේජ යාවත්කාලීන සූදානම් ඩේබියන්, උබුන්ටු, openSUSE. ආෆ්ට් ලිනක්ස් и Fedora ඔවුන් 4.92 අනුවාදය සපයනු ලැබේ, එහි ගැටළුව නොපෙන්වයි. RHEL සහ CentOS ගැටළුව ගොදුරු නොවේ, Exim ඔවුන්ගේ නිත්‍ය පැකේජ ගබඩාවේ ඇතුළත් කර නැති නිසා.

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

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