Qualys ኩባንያ
ችግሩ የተፈጠረው በኮዱ ውስጥ ባለ ስህተት መልእክቶችን ወደ የርቀት መልእክት አገልጋይ (መጪ ግንኙነቶችን በሚያስተናግድ ኮድ ውስጥ አይደለም) የሚያደርስ ነው። ጥቃቱ በሁለቱም በደንበኛው እና በአገልጋዩ በኩል ይቻላል. በደንበኛው በኩል ጥቃቱ በ OpenSMTPD ነባሪ ውቅር ሊሆን ይችላል ፣ በዚህ ውስጥ OpenSMTPD በውስጣዊ አውታረመረብ በይነገጽ (localhost) ላይ ብቻ ጥያቄዎችን ተቀብሎ ወደ ውጭ አገልጋዮች የፖስታ መልእክት ይልካል። ተጋላጭነቱን ለመጠቀም፣ ደብዳቤ በሚላክበት ጊዜ OpenSMTPD በአጥቂው የሚቆጣጠረው የፖስታ አገልጋይ ያለው ክፍለ ጊዜ መመስረት ወይም አጥቂው ወደ ደንበኛው ግንኙነት (ኤምቲኤም ወይም በዲ ኤን ኤስ ወይም BGP በሚደርስ ጥቃት ጊዜ አቅጣጫ መቀየር) በቂ ነው። ).
ለአገልጋይ-ጎን ጥቃት OpenSMTPD ከሌሎች የፖስታ አገልጋዮች የውጭ አውታረ መረብ ጥያቄዎችን ለመቀበል ወይም ወደ የዘፈቀደ ኢሜይል ጥያቄ ለመላክ የሚያስችል የሶስተኛ ወገን አገልግሎቶችን ለማገልገል መዋቀር አለበት (ለምሳሌ በድር ጣቢያዎች ላይ የአድራሻ ማረጋገጫ ቅጾች)። ለምሳሌ አንድ አጥቂ ከOpenSMTPD አገልጋይ ጋር በመገናኘት የተሳሳተ ደብዳቤ (ለሌለ ተጠቃሚ) መላክ ይችላል፣ ይህ ደግሞ የአጥቂውን አገልጋይ የስህተት ኮድ (ቢቢስ) የያዘ ደብዳቤ ወደ መላክ ምላሽ ይሰጣል። ለአጥቂው አገልጋይ ማሳወቂያ ለማድረስ OpenSMTPD ሲገናኝ አጥቂ ተጋላጭነቱን ሊጠቀም ይችላል። በጥቃቱ ጊዜ የተወጉት የሼል ትዕዛዞች OpenSMTPD እንደገና ሲጀመር ከስር መብቶች ጋር በሚፈፀም ፋይል ውስጥ ይቀመጣሉ፣ ስለዚህ አጥቂው OpenSMTPD ዳግም እስኪጀምር መጠበቅ ወይም ጥቃቱን ለማጠናቀቅ የOpenSMTPD ብልሽት እስኪጀምር ድረስ መጠበቅ አለበት።
ግንኙነቱ ከተፈጠረ በኋላ በርቀት አገልጋዩ የተመለሰውን ባለብዙ መስመር ምላሽ (ለምሳሌ “250-ENHANCEDSTATUSCODES” እና “250 HELP”) ለመተንተን ችግሩ በ mta_io() ኮድ ውስጥ አለ። OpenSMTPD ያሰላል የመጀመሪያው መስመር ባለ ሶስት አሃዝ ቁጥር እና በ"-" ቁምፊ የተለዩ ፅሁፎችን ያካትታል, እና ሁለተኛው መስመር ባለ ሶስት አሃዝ ቁጥር እና ጽሁፍ በቦታ የተለየ. ባለ ሶስት አሃዝ ቁጥር በሁለተኛው መስመር ላይ ክፍተት እና ጽሁፍ ካልተከተለ ጽሑፉን ለመግለጽ የሚጠቀመው ጠቋሚ የ'\0' ቁምፊን ተከትሎ ወደ ባይት ተቀናብሯል እና ከመጨረሻው በኋላ መረጃውን ለመቅዳት ይሞክራል. ወደ ቋት ውስጥ ያለውን መስመር.
በOpenBSD ፕሮጀክት ጥያቄ መሰረት የተጋላጭነት ብዝበዛን በተመለከተ የዝርዝሮች ህትመት ተጠቃሚዎች ስርዓታቸውን እንዲያዘምኑ ለማድረግ እስከ የካቲት 26 ድረስ ዘግይቷል። ችግሩ ከዲሴምበር 2015 ጀምሮ በኮድ ቤዝ ውስጥ አለ፣ ነገር ግን ከሜይ 2018 ጀምሮ ኮድን ከመተግበሩ በፊት ብዝበዛን ከስር መብቶች ጋር ማድረግ ተችሏል። ተመራማሪዎቹ በOpenSMTPD ግንባታዎች ለOpenBSD 6.6፣ OpenBSD 5.9፣ Debian 10፣ Debian 11 (ሙከራ) እና Fedora 31 በተሳካ ሁኔታ የተሞከረውን የብዝበዛ ፕሮቶታይፕ አዘጋጁ።
በOpenSMTPD ውስጥም እንዲሁ
ችግሩ ያልተሟላ መወገድ ውጤት ነው
በ Fedora 31 ውስጥ ተጋላጭነቱ የ smtpctl ሂደት ከ setgid smtpq ባንዲራ ይልቅ በ setgid root ባንዲራ የታጠቁ ስለሆነ ወዲያውኑ የስር ቡድኑን መብቶች እንዲያገኙ የሚያስችልዎ መሆኑ ትኩረት የሚስብ ነው። የስር ቡድኑን በማግኘት የ/var/lib/sss/mc/passwd ይዘቶችን እንደገና በመፃፍ ወደ ስርዓቱ ሙሉ ስርወ መዳረሻ ማግኘት ይችላሉ።
ምንጭ: opennet.ru