ව්‍යාපෘති 270ක භාවිතා වන node-netmask NPM පැකේජයේ ඇති අවදානම

සතියකට බාගත කිරීම් මිලියන 3ක් පමණ ඇති සහ GitHub හි ව්‍යාපෘති 270කට වැඩි ප්‍රමාණයක් මත යැපීමක් ලෙස භාවිතා කරන node-netmask NPM පැකේජයට, netmask භාවිතා කරන චෙක්පත් මඟ හැරීමට ඉඩ සලසන අවදානමක් (CVE-2021-28918) ඇත. ලිපින පරාසයන්ට හෝ පෙරීම සඳහා සිදුවීම තීරණය කිරීමට. node-netmask 2.0.0 නිකුතුවේදී ගැටළුව විසඳා ඇත.

අවදානම නිසා බාහිර IP ලිපිනයක් අභ්‍යන්තර ජාලයෙන් සහ අනෙක් අතට ලිපිනයක් ලෙස සැලකීමට හැකි වන අතර, SSRF (සේවාදායක පැත්තේ ඉල්ලීම් ව්‍යාජය), RFI සිදු කිරීම සඳහා යෙදුමේ ඇති node-netmask මොඩියුලය භාවිතා කිරීමේ යම් තර්කයක් සමඟින්. (දුරස්ථ ගොනු ඇතුළත් කිරීම) සහ LFI (දේශීය ගොනු ඇතුළත් කිරීම්) ප්‍රහාර ) අභ්‍යන්තර ජාලයේ සම්පත් වෙත ප්‍රවේශ වීමට සහ ක්‍රියාත්මක කිරීමේ දාමයේ බාහිර හෝ දේශීය ගොනු ඇතුළත් කිරීමට. ගැටළුව වන්නේ පිරිවිතරයන්ට අනුව, බිංදුවෙන් ආරම්භ වන ලිපින තන්තු අගයන් අෂ්ටක සංඛ්‍යා ලෙස අර්ථ දැක්විය යුතුය, නමුත් නෝඩ්-නෙට්මාස්ක් මොඩියුලය මෙය සැලකිල්ලට නොගන්නා අතර ඒවා දශම සංඛ්‍යා ලෙස සලකයි.

උදාහරණයක් ලෙස, "0177.0.0.1" ට අනුරූප වන "127.0.0.1" අගය සඳහන් කිරීමෙන් ප්‍රහාරකයෙකුට දේශීය සම්පතක් ඉල්ලා සිටිය හැක, නමුත් "node-netmask" මොඩියුලය null එක ඉවත දමා 0177.0.0.1″ ලෙස සලකනු ඇත " 177.0.0.1", ප්‍රවේශ නීති ඇගයීමේදී යෙදුමේ, “127.0.0.1” සමඟ අනන්‍යතාවය තීරණය කිරීමට නොහැකි වනු ඇත. ඒ හා සමානව, ප්‍රහාරකයෙකුට "0127.0.0.1" ලිපිනය සඳහන් කළ හැක, එය "87.0.0.1" ට සමාන විය යුතුය, නමුත් "node-netmask" මොඩියුලයේ "127.0.0.1" ලෙස සලකනු ලැබේ. ඒ හා සමානව, ඔබට “012.0.0.1” (“10.0.0.1” ට සමාන, නමුත් පරීක්‍ෂා කිරීමේදී 12.0.0.1 ලෙස සකසනු ලැබේ) වැනි අගයන් සඳහන් කිරීමෙන් අන්තර් ජාල ලිපින වෙත ප්‍රවේශය සඳහා චෙක්පත වංචා කළ හැකිය.

ගැටලුව හඳුනාගත් පර්යේෂකයන් ගැටලුව ව්‍යසනකාරී ලෙස හඳුන්වන අතර ප්‍රහාරක අවස්ථා කිහිපයක් සපයන නමුත් ඒවායින් බොහොමයක් සමපේක්ෂන ලෙස පෙනේ. උදාහරණයක් ලෙස, ආදාන ඉල්ලීමේ පරාමිතීන් හෝ දත්ත මත පදනම්ව සම්පතක් ඉල්ලා සිටීම සඳහා බාහිර සම්බන්ධතා ස්ථාපිත කරන Node.js-පාදක යෙදුමකට පහර දීමේ හැකියාව ගැන එය කතා කරයි, නමුත් යෙදුම විශේෂයෙන් නම් කර හෝ විස්තර කර නොමැත. ඇතුළත් කළ IP ලිපින මත පදනම්ව සම්පත් පූරණය කරන යෙදුම් ඔබ සොයා ගත්තද, දේශීය ජාලයකට සම්බන්ධ නොවී හෝ "දර්පණ" IP ලිපින පාලනය කිරීමකින් තොරව ප්‍රායෝගිකව අවදානම ප්‍රයෝජනයට ගත හැක්කේ කෙසේද යන්න සම්පූර්ණයෙන්ම පැහැදිලි නැත.

පර්යේෂකයන් උපකල්පනය කරන්නේ 87.0.0.1 (ටෙලිකොම් ඉතාලියා) සහ 0177.0.0.1 (බ්‍රසීල් ටෙලිකොම්) හි හිමිකරුවන්ට 127.0.0.1 වෙත ප්‍රවේශ සීමාව මඟ හැරිය හැකි බවයි. වඩාත් යථාර්ථවාදී අවස්ථාවක් වන්නේ විවිධ යෙදුම්-පාර්ශ්වික අවහිර ලැයිස්තු මඟ හැරීමට ඇති අවදානම ප්‍රයෝජනයට ගැනීමයි. NPM මොඩියුලය "private-ip" තුළ අභ්‍යන්තර ජාල පරාසයේ නිර්වචනය බෙදා ගැනීමට ද මෙම ගැටළුව යෙදිය හැක.

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

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