Curl සහ libcurl හි බෆරය පිටාර ගැලීම, SOCKS5 ප්‍රොක්සියක් හරහා ප්‍රවේශ වන විට ප්‍රකාශ වේ

සමාන්තරව සංවර්ධනය වෙමින් පවතින curl ජාලය සහ libcurl පුස්තකාලය හරහා දත්ත ලබා ගැනීම සහ යැවීම සඳහා උපයෝගීතාව තුළ අවදානමක් (CVE-2023-38545) හඳුනාගෙන ඇත, එය බෆරය පිටාර ගැලීමට සහ ප්‍රහාරක කේතය ක්‍රියාත්මක කිරීමට හේතු විය හැක. ප්‍රහාරකයා විසින් පාලනය කරනු ලබන HTTPS සේවාදායකයකට curl උපයෝගීතාව හෝ libcurl භාවිතා කරන යෙදුමක් භාවිතයෙන් ප්‍රවේශ වූ විට සේවාලාභියාගේ පැත්ත. ගැටළුව දිස්වන්නේ SOCKS5 ප්‍රොක්සියක් හරහා ප්‍රවේශය curl තුළ සබල කර ඇත්නම් පමණි. ප්‍රොක්සියක් නොමැතිව සෘජුවම ප්‍රවේශ වන විට, අවදානම නොපෙනේ. curl 8.4.0 නිකුතුවේදී අවදානම නිරාකරණය කර ඇත. Hackerone's Internet Bug Bounty මුලපිරීමේ කොටසක් ලෙස දෝෂය සොයාගත් ආරක්ෂක පර්යේෂකයාට $4660 ත්‍යාගයක් ලැබිණි.

SOCKS5 ප්‍රොක්සිය වෙත ප්‍රවේශ වීමට පෙර ධාරක නාම විභේදන කේතයේ දෝෂයක් හේතුවෙන් මෙම අවදානම ඇතිවේ. ධාරක නාමය අක්ෂර 256ක් දක්වා දිග නම්, curl වහාම නම SOCKS5 ප්‍රොක්සිය වෙත එහි පැත්තේ විභේදනය සඳහා ලබා දෙයි, නම අක්ෂර 255 ට වඩා වැඩි නම්, එය දේශීය විසදුම වෙත මාරු වී දැනටමත් අර්ථ දක්වා ඇති ලිපිනය SOCKS5 වෙත ලබා දෙයි. . කේතයේ දෝෂයක් හේතුවෙන්, SOCKS5 හරහා සම්බන්ධතාවයක් පිළිබඳ මන්දගාමී සාකච්ඡා අතරතුර දේශීය විභේදනයේ අවශ්‍යතාවය පෙන්නුම් කරන ධජය වැරදි අගයට සැකසිය හැකි අතර, එය අපේක්ෂාවෙන් වෙන් කරන ලද බෆරයක දිගු සත්කාරක නාමයක් පටිගත කිරීමට හේතු විය. අක්ෂර 255 නොඉක්මවන IP ලිපිනය හෝ නම ගබඩා කිරීම.

SOCKS5 ප්‍රොක්සියක් හරහා curl මඟින් ප්‍රවේශ වූ වෙබ් අඩවියක හිමිකරුට ඉල්ලීම් යළි-යොමු කිරීමේ කේතයක් (HTTP 30x) ආපසු ලබා දීමෙන් සහ "ස්ථානය:" ශීර්ෂකය 16 දක්වා පරාසයක ධාරක නාමයක් සහිත URL එකකට සැකසීමෙන් සේවාලාභී පාර්ශ්වයේ බෆර පිටාර ගැලීමක් ඇති කළ හැක. 64 KB දක්වා (16 KB යනු වෙන් කළ බෆරය පිටාර ගැලීමට අවශ්‍ය අවම ප්‍රමාණය වන අතර 65 KB යනු URL එකක අවසර දී ඇති උපරිම ධාරක දිග වේ). Libcurl සැකසුම් තුළ ඉල්ලීම් යළි-යොමුවීම් සක්‍රීය කර ඇත්නම් සහ SOCKS5 ප්‍රොක්සි භාවිතා කිරීම ප්‍රමාණවත් තරම් මන්දගාමී නම්, දිගු සත්කාරක නාමය කුඩා බෆරයකට ලියා ඇත, පැහැදිලිවම කුඩා ප්‍රමාණයේ.

අවදානම ප්‍රධාන වශයෙන් libcurl මත පදනම් වූ යෙදුම් වලට බලපාන අතර curl උපයෝගීතාවයේ දිස්වන්නේ 65541 ට අඩු අගයක් සහිත “--limit-rate” විකල්පය භාවිතා කරන විට පමණි - libcurl පෙරනිමියෙන් 16 KB ප්‍රමාණයේ බෆරයක් වෙන් කරයි, සහ curl උපයෝගීතාව තුළ එය 100 KB වේ, නමුත් මෙය "-limit-rate" පරාමිතියේ අගය අනුව ප්‍රමාණය වෙනස් වේ.

ව්‍යාපෘතියේ කතුවරයා වන ඩැනියෙල් ස්ටෙන්බර්ග් සඳහන් කළේ මෙම අවදානම දින 1315ක් තිස්සේ හඳුනා නොගත් බවයි. මතක සුරක්ෂිත භාෂාවකින් curl ලියා තිබුනේ නම් curl හි කලින් හඳුනාගත් දුර්වලතා වලින් 41% ක්ම වළක්වා ගත හැකි නමුත් නුදුරු අනාගතයේ දී curl වෙනත් භාෂාවකට නැවත ලිවීමේ සැලසුමක් නොමැති බව ද එය පවසයි. කේත පදනමේ ආරක්ෂාව වැඩි දියුණු කිරීමේ පියවර ලෙස, කේත පරීක්ෂා කිරීම සඳහා මෙවලම් පුළුල් කිරීමට සහ මතකය සමඟ ආරක්ෂිත ක්‍රියාකාරිත්වය සහතික කරන ක්‍රමලේඛන භාෂාවලින් ලියා ඇති පරායත්තතා වඩාත් ක්‍රියාකාරීව භාවිතා කිරීමට යෝජනා කෙරේ. රස්ට් හි ක්‍රියාත්මක කරන ලද පර්යේෂණාත්මක Hyper HTTP පසුබිම වැනි ආරක්ෂිත භාෂාවලින් ලියා ඇති ප්‍රභේද සමඟ curl කොටස් ක්‍රමයෙන් ප්‍රතිස්ථාපනය කිරීමේ හැකියාව ද එය සලකා බලයි.

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

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