ప్రధాన భాగంలో Linux దుర్బలత్వం (), ఇది ప్రత్యేకంగా రూపొందించిన UDP ప్యాకెట్లను (ప్యాకెట్-ఆఫ్-డెత్) పంపడం ద్వారా రిమోట్గా సేవ యొక్క తిరస్కరణకు కారణమవుతుంది. GRO (జనరిక్ రిసీవ్ ఆఫ్లోడ్) సాంకేతికత అమలులో ఉన్న udp_gro_receive_segment హ్యాండ్లర్ (net/ipv4/udp_offload.c)లో లోపం కారణంగా సమస్య ఏర్పడింది మరియు UDP ప్యాకెట్లను జీరో ప్యాడింగ్తో ప్రాసెస్ చేస్తున్నప్పుడు కెర్నల్ మెమరీ ఏరియాల్లోని కంటెంట్లకు నష్టం కలిగించవచ్చు. (ఖాళీ పేలోడ్).
సమస్య కెర్నల్ను మాత్రమే ప్రభావితం చేస్తుంది UDP సాకెట్లకు GRO మద్దతు ఉన్నందున గత సంవత్సరం నవంబర్లో మరియు తాజా స్థిరమైన కెర్నల్ విడుదలలోకి మాత్రమే ప్రవేశించగలిగింది. ప్రతి ప్యాకెట్ యొక్క ప్రత్యేక ప్రాసెసింగ్ అవసరం లేని పెద్ద బ్లాక్లుగా బహుళ ప్యాకెట్లను సమగ్రపరచడం ద్వారా పెద్ద సంఖ్యలో ఇన్కమింగ్ ప్యాకెట్ల ప్రాసెసింగ్ను వేగవంతం చేయడానికి GRO సాంకేతికత మిమ్మల్ని అనుమతిస్తుంది.
TCP కోసం, సమస్య ఏర్పడదు, ఎందుకంటే ఈ ప్రోటోకాల్ పేలోడ్ లేకుండా ప్యాకెట్ అగ్రిగేషన్కు మద్దతు ఇవ్వదు.
దుర్బలత్వం ఇప్పటివరకు రూపంలో మాత్రమే పరిష్కరించబడింది , దిద్దుబాటు నవీకరణ ఇంకా ప్రచురించబడలేదు (నిన్నటి నవీకరణ 5.0.11 పరిష్కారం ) పంపిణీ కిట్ల నుండి, కెర్నల్ 5.0ని చేర్చగలిగారు , , , మరియు ఇతర నిరంతరం నవీకరించబడిన పంపిణీలు. , , и సమస్య ప్రభావితం చేయదు.
ఫలితంగా సమస్య కనుగొనబడింది Google రూపొందించిన స్వయంచాలక అస్పష్ట పరీక్ష వ్యవస్థ మరియు ఎనలైజర్ (KernelAddressSanitizer), మెమరీతో పని చేస్తున్నప్పుడు లోపాలను గుర్తించడం మరియు విముక్తి పొందిన మెమరీ ప్రాంతాలను యాక్సెస్ చేయడం మరియు అలాంటి అవకతవకలకు ఉద్దేశించని మెమరీ ప్రాంతాలలో కోడ్ను ఉంచడం వంటి తప్పు మెమరీ యాక్సెస్ యొక్క వాస్తవాలను గుర్తించడం లక్ష్యంగా పెట్టుకుంది.
మూలం: opennet.ru
