కెర్నల్లోని ఏడవ దుర్బలత్వం (1, 2-3, 4, 5, 6) కోసం ఒక ఎక్స్ప్లాయిట్ బహిరంగంగా అందుబాటులోకి వచ్చింది. Linuxపేజీ కాష్లోని డేటాను ఓవర్రైట్ చేయడం ద్వారా, ప్రత్యేక హక్కులు లేని స్థానిక వినియోగదారుడు రూట్ అధికారాలను పొందేందుకు ఇది అనుమతిస్తుంది. దీనికి ఇంకా CVE ఐడెంటిఫైయర్ కేటాయించబడలేదు, మరియు ఎక్స్ప్లాయిట్ కోడ్ తప్ప, ఈ సమస్య గురించి ప్రస్తుతం ఎటువంటి సమాచారం అందుబాటులో లేదు. దీనికి పరిష్కారం కేవలం ఒక ప్యాచ్ రూపంలో మాత్రమే అందుబాటులో ఉంది, దీనిని మే 20న ప్రచురించి, మే 21న మెయిన్లైన్ కెర్నల్లోకి ఆమోదించారు. Linux (కెర్నల్ నిర్వహణ విడుదలలు ఇంకా అందుబాటులో లేవు).
విభజించబడిన ప్యాకెట్ల ప్రాసెసింగ్ను వేగవంతం చేయడానికి ఉపయోగించే జెనరిక్ రిసీవ్ ఆఫ్లోడ్ (GRO) టెక్నాలజీ అమలులో ఒక లోపం ఉంది. అనవసరమైన బఫరింగ్ను నివారించడానికి పేజ్ కాష్లోని డేటాను నేరుగా సవరించే skb_gro_receive() ఫంక్షన్లోని జీరో-కాపీ మెకానిజంలో ఉన్న ఒక పొరపాటు వల్ల ఈ లోపం ఏర్పడుతుంది. SKBFL_MANAGED_FRAG_REFS ఫ్లాగ్ను సెట్ చేసినప్పుడు, విడుదల చేయబడిన మెమరీ పేజీల రిఫరెన్స్ను shinfo->frags ఫీల్డ్లో నిల్వ చేయడం దాటవేయబడింది. ఆ తర్వాత, రిఫరెన్స్ కౌంటర్ను మార్చకుండానే ఈ ఫీల్డ్ మరొక skbకి జోడించబడింది, ఇది యూజ్-ఆఫ్టర్-ఫ్రీ (use-after-free) యాక్సెస్కు దారితీసింది. io_uring బఫర్ పాయింటర్ను మార్చడం ద్వారా పేజ్ కాష్లోని డేటాను ఓవర్రైట్ చేయడానికి ఈ లోపాన్ని ఉపయోగించుకున్నారు.
io_uring సబ్సిస్టమ్ ఎనేబుల్ చేయబడిన (io_uring_disabled=0) సిస్టమ్లపై ఈ దాడి సాధ్యమవుతుంది. ఈ ఎక్స్ప్లాయిట్ పనిచేయాలంటే, సిస్టమ్లో SUID-root ఫ్లాగ్తో చదవగలిగే ఎగ్జిక్యూటబుల్ ఫైల్ తప్పనిసరిగా ఉండాలి. ఈ ఎక్స్ప్లాయిటేషన్ మెకానిజంలో భాగంగా, దాడి చేసే వ్యక్తి పేజ్ కాష్లో యూజర్ డేటాబేస్ను పొంది, ఆ తర్వాత "hax::0:0::/root:/bin/sh" అనే స్ట్రింగ్ను కాష్లోకి ఇన్సర్ట్ చేస్తాడు. ఆ తర్వాత "su hax" కమాండ్ను రన్ చేస్తారు, ఇది డ్రైవ్ నుండి అసలైన యూజర్ డేటాబేస్ను కాకుండా, రూట్ ప్రివిలేజెస్ మరియు ఖాళీ పాస్వర్డ్తో కేటాయించబడిన "hax" అనే డమ్మీ లాగిన్తో సవరించిన కాపీని తిరిగి పొందుతుంది. ఈ ఎక్స్ప్లాయిట్ను పరీక్షించారు. Ubuntu <span style="font-family: arial; ">10</span>
మూలం: opennet.ru
