በዋናው ውስጥ Linux ተጋላጭነት (), በልዩ ሁኔታ የተነደፉ የ UDP ፓኬቶችን (የሞት ፓኬት) በመላክ የርቀት አገልግሎትን ውድቅ ለማድረግ ያስችልዎታል። ችግሩ የተፈጠረው በ udp_gro_receive_segment ተቆጣጣሪ (net/ipv4/udp_offload.c) የ GRO (አጠቃላይ ተቀባይ ኦፍሎድ) ቴክኖሎጂን በመተግበር ላይ ባለ ስህተት ሲሆን የ UDP ፓኬቶችን በዜሮ ንጣፍ ሲሰራ የከርነል ማህደረ ትውስታ ቦታዎችን ይዘቶች ላይ ጉዳት ሊያደርስ ይችላል (ባዶ ጭነት)።
ችግሩ የሚነካው ከርነል ብቻ ነው። የ GRO ድጋፍ ለ UDP ሶኬቶች ስለነበር ባለፈው አመት ህዳር ወር ላይ እና ወደ የቅርብ ጊዜው የተረጋጋ የከርነል ልቀት መግባት የቻለው። የ GRO ቴክኖሎጂ ብዙ ፓኬቶችን ወደ ትላልቅ ብሎኮች በማቀናጀት የእያንዳንዱን ፓኬት የተለየ ሂደት ወደማይፈልጉ ብዙ ቁጥር ያላቸውን ፓኬቶች ሂደት ለማፋጠን ያስችልዎታል።
ይህ ፕሮቶኮል ያለክፍያ ፓኬት ማሰባሰብን ስለማይደግፍ ለTCP ችግሩ አይከሰትም።
ተጋላጭነቱ እስካሁን በቅጹ ላይ ብቻ ተስተካክሏል። ፣ የማስተካከያ ዝመናው ገና አልታተመም (የትላንትናው ዝመና 5.0.11 መጠገን ). ከስርጭት ኪቶች፣ ከርነል 5.0 ውስጥ መካተት ችሏል። , , , እና ሌሎች በተከታታይ የተሻሻሉ ስርጭቶች። , , и ችግሩ አይጎዳውም.
ችግሩ የተገኘው በዚህ ምክንያት ነው በGoogle የተፈጠረ አውቶማቲክ ግራ የሚያጋባ የሙከራ ስርዓት እና analyzer (KernelAddressSanitizer)፣ ከማህደረ ትውስታ ጋር ሲሰሩ ስህተቶችን ለመለየት ያለመ እና የተሳሳቱ የማህደረ ትውስታ መዳረሻ እውነታዎች፣ ለምሳሌ የተፈቱ የማህደረ ትውስታ ቦታዎችን ማግኘት እና ለእንደዚህ አይነት መጠቀሚያዎች ባልታሰቡ የማህደረ ትውስታ ቦታዎች ላይ ኮድ ማስቀመጥ።
ምንጭ: opennet.ru
