እንደ ጥቅል አካል በቀረበው e2fsck መገልገያ ውስጥ
ተጋላጭነቱ የሚከሰተው በ rehash.c ፋይል ውስጥ ባለው የ mutate_name() ተግባር ውስጥ ባለ ስህተት ነው፣ይህም ከማውጫ ጋር የተገናኙትን የሃሽ ሰንጠረዦች እንደገና በሚገነቡበት ጊዜ፣ በማውጫው ውስጥ ያሉት ሁሉም ፋይሎች ከማውጫው ጋር የሚዛመዱ መሆናቸውን በማረጋገጥ ነው። ከማውጫ ጋር የተያያዘው የሃሽ_ኢንትሪ መዋቅር መበላሸቱ አጥቂ ከተመደበው ቋት ውጭ ወዳለ ቦታ ውሂብ እንዲጽፍ ሊያደርግ ይችላል። ተመሳሳይ ስም ያላቸው ብዙ ፋይሎች ከማውጫ ጋር እንደተገናኙ በሃሽ ሠንጠረዥ ውስጥ ከተለዩ፣ e2fsck መገልገያው የተባዙ ፋይሎችን ~0፣ ~1 እና የመሳሰሉትን ወደ ስሙ በማከል ይቀይራል። በእንደዚህ ዓይነት ዳግም መሰየም ወቅት አዲሱን ስም ለጊዜው ለማከማቸት 256 ባይት መጠን ያለው ቋት በክምችቱ ላይ ተመድቧል።
የሚቀዳው የውሂብ መጠን በ "entry->name_len & 0xff" አገላለጽ ይወሰናል, ነገር ግን የመግቢያ->name_len ዋጋ ከትክክለኛው የስሙ መጠን ስሌት ሳይሆን በዲስክ ላይ ካለው መዋቅር ይጫናል. መጠኑ ዜሮ ከሆነ፣ የድርድር ኢንዴክስ እሴቱን -1 ይወስዳል እና ሁኔታዎች ተፈጥረዋል ኢንቲጀር እንዲትረፈረፍ በታችኛው ቋት ድንበር (ኢንቲጀር በታች ፍሰት) እና ቁልል ላይ ሌላ ውሂብ "~ 0" ጋር ይተካዋል. ለ 64-ቢት ስርዓቶች የተጋላጭነት ብዝበዛ የማይታሰብ ነው ተብሎ ይገመገማል እና በተደራራቢው መጠን ላይ ምንም ገደብ አያስፈልግም (limit -s unlimited)። ለ 32-ቢት ስርዓቶች, ብዝበዛ ይቻላል ተብሎ ይታሰባል, ነገር ግን ውጤቱ በጣም ጥገኛ ነው executable በአቀነባባሪው እንዴት እንደተጠናቀረ.
ጥቃትን ለመፈጸም አንድ አጥቂ በ ext2, ext3 ወይም ext4 የፋይል ስርዓት ክፍልፍል ውስጥ በተወሰነ መንገድ መረጃውን ማበላሸት ያስፈልገዋል. ይህ ክዋኔ የሱፐር ተጠቃሚ ልዩ መብቶችን የሚፈልግ በመሆኑ የe2fsck መገልገያ ውጫዊ ድራይቮች ወይም ከውጪ የተቀበሉ FS ምስሎችን ሲቃኝ ተጋላጭነቱ ስጋት ይፈጥራል።
ምንጭ: opennet.ru