ዳይናሚክ ሎደር የOpenBSD አካል የሆነው፣ በተወሰኑ ሁኔታዎች - አፕሊኬሽኖች የLD_LIBRARY_PATH አካባቢ ተለዋዋጭን ይተዋሉ፣ በዚህም የሶስተኛ ወገን ኮድ ከፍ ባለ መብቶች በሚሄድ ሂደት አውድ ውስጥ እንዲጫን ያስችለዋል። ተጋላጭነቱን የሚያስተካክሉ ጥገናዎች ልቀቶች ይገኛሉ። и ሁለትዮሽ ጥገናዎች () ለ amd64፣ i386 እና arm64 መድረኮች ቀድሞውኑ ወደ ምርት ገብተዋል እና ይህ ዜና እስኪታተም ድረስ ለማውረድ ዝግጁ መሆን አለባቸው።
ችግሩ ld.so መጀመሪያ የLD_LIBRARY_PATH ተለዋዋጭን ከአካባቢው መልሶ ማግኘቱ እና የ_dl_split_path() ተግባርን በመጠቀም ወደ ሕብረቁምፊዎች ድርድር - ማውጫ መንገዶች መለወጥ ነው። በኋላ ላይ የአሁኑ ሂደት በSUID/SGID መተግበሪያ መጀመሩ ከተረጋገጠ፣ የተፈጠረው ድርድር እና የLD_LIBRARY_PATH ተለዋዋጭ ራሱ ይጸዳሉ። በተጨማሪም፣ _dl_split_path() ከማህደረ ትውስታ ውጭ ከሆነ (ይህም በአካባቢ ተለዋዋጮች መጠን ላይ ባለው ግልጽ 256 ኪባ ገደብ ምክንያት አስቸጋሪ ነው፣ ነገር ግን በንድፈ ሀሳብ ይቻላል)፣ የ_dl_libpath ተለዋዋጭ ወደ NULL ይቀናበራል፣ እና ለዚህ ተለዋዋጭ እሴት ቀጣይ ቼኮች የ_dl_unsetenv ("LD_LIBRARY_PATH") ጥሪ እንዲዘለል ያደርጋሉ።
ተጋላጭነቱ የተገኘው በልዩ ባለሙያዎች ነው። ልክ እንደ ተጋላጭነቱን የለዩት የደህንነት ተመራማሪዎች ችግሩ የተፈታበትን ፍጥነት አስተውለዋል፡ የOpenBSD ፕሮጀክት ማሳወቂያ ከደረሰ በኋላ በሦስት ሰዓታት ውስጥ ጥገና ተዘጋጅቶ ዝማኔዎች ተለቀቁ።
ተጨማሪ፡ ችግሩ የተወሰነ ቁጥር ተሰጥቶታል የ oss-security የፖስታ ዝርዝር ተዘምኗል። , ይህም በ OpenBSD 6.6፣ 6.5፣ 6.2 እና 6.1 አርክቴክቸር ላይ የሚሰራ ፕሮቶታይፕ ብዝበዛን ያካትታል።
amd64 እና i386 (ብዝበዛው ለሌሎች አርክቴክቸሮች ሊስተካከል ይችላል)።
ተጋላጭነቱ በነባሪ ጭነት ውስጥ ጥቅም ላይ ሊውል የሚችል ሲሆን ያልተፈቀደለት አካባቢያዊ ተጠቃሚ የ suid utilities chpass ወይም passwd ሲያሄድ በቤተ-መጽሐፍት ምትክ በኩል የስር መብቶችን የያዘ ኮድ እንዲያስፈጽም ያስችለዋል። ለብዝበዛ አስፈላጊ የሆኑትን ዝቅተኛ ማህደረ ትውስታ ሁኔታዎችን ለመፍጠር፣ የ RLIMIT_DATA ገደብ በ setrlimit በኩል ይቀናበራል።
ምንጭ: opennet.ru
