የ UDP ፓኬት በመላክ ብልሽት ሊያስከትል የሚችል በሊኑክስ ከርነል ውስጥ ያለው ተጋላጭነት

በሊኑክስ ኮርነል ውስጥ ተለይቷል ተጋላጭነት (CVE-2019-11683), በልዩ ሁኔታ የተነደፉ የ UDP ፓኬቶችን (የሞት ፓኬት) በመላክ የርቀት አገልግሎትን ውድቅ ለማድረግ ያስችልዎታል። ችግሩ የተፈጠረው በ udp_gro_receive_segment ተቆጣጣሪ (net/ipv4/udp_offload.c) የ GRO (አጠቃላይ ተቀባይ ኦፍሎድ) ቴክኖሎጂን በመተግበር ላይ ባለ ስህተት ሲሆን የ UDP ፓኬቶችን በዜሮ ንጣፍ ሲሰራ የከርነል ማህደረ ትውስታ ቦታዎችን ይዘቶች ላይ ጉዳት ሊያደርስ ይችላል (ባዶ ጭነት)።

ችግሩ የሚነካው ከርነል ብቻ ነው። 5.0የ GRO ድጋፍ ለ UDP ሶኬቶች ስለነበር ተተግብሯል ባለፈው አመት ህዳር ወር ላይ እና ወደ የቅርብ ጊዜው የተረጋጋ የከርነል ልቀት መግባት የቻለው። የ GRO ቴክኖሎጂ ብዙ ፓኬቶችን ወደ ትላልቅ ብሎኮች በማቀናጀት የእያንዳንዱን ፓኬት የተለየ ሂደት ወደማይፈልጉ ብዙ ቁጥር ያላቸውን ፓኬቶች ሂደት ለማፋጠን ያስችልዎታል።
ይህ ፕሮቶኮል ያለክፍያ ፓኬት ማሰባሰብን ስለማይደግፍ ለTCP ችግሩ አይከሰትም።

ተጋላጭነቱ እስካሁን በቅጹ ላይ ብቻ ተስተካክሏል። ጠጋኝ፣ የማስተካከያ ዝመናው ገና አልታተመም (የትላንትናው ዝመና 5.0.11 መጠገን አልተካተተም). ከስርጭት ኪቶች፣ ከርነል 5.0 ውስጥ መካተት ችሏል። Fedora 30, ኡቡንቱ 19.04, አርክ ሊንክ, Gentoo እና ሌሎች በተከታታይ የተሻሻሉ ስርጭቶች። ደቢያን, ኡቡንቱ 18.10 እና ከዚያ በፊት, RHEL/CentOS и SUSE/ክፍት SUSE ችግሩ አይጎዳውም.

ችግሩ የተገኘው በዚህ ምክንያት ነው አጠቃቀም በGoogle የተፈጠረ አውቶማቲክ ግራ የሚያጋባ የሙከራ ስርዓት syzbot እና analyzer ካሳን (KernelAddressSanitizer)፣ ከማህደረ ትውስታ ጋር ሲሰሩ ስህተቶችን ለመለየት ያለመ እና የተሳሳቱ የማህደረ ትውስታ መዳረሻ እውነታዎች፣ ለምሳሌ የተፈቱ የማህደረ ትውስታ ቦታዎችን ማግኘት እና ለእንደዚህ አይነት መጠቀሚያዎች ባልታሰቡ የማህደረ ትውስታ ቦታዎች ላይ ኮድ ማስቀመጥ።

ምንጭ: opennet.ru

አስተያየት ያክሉ