Linux కెర్నల్‌లో nf_tables, watch_queue మరియు IPsecలలో దోపిడీ చేయగల దుర్బలత్వాలు గుర్తించబడ్డాయి

Linux కెర్నల్‌లో అనేక ప్రమాదకరమైన దుర్బలత్వాలు గుర్తించబడ్డాయి, ఇవి సిస్టమ్‌లో స్థానిక వినియోగదారుని వారి అధికారాలను పెంచుకోవడానికి అనుమతిస్తాయి. పరిశీలనలో ఉన్న అన్ని సమస్యల కోసం దోపిడీల యొక్క వర్కింగ్ ప్రోటోటైప్‌లు సిద్ధం చేయబడ్డాయి.

  • watch_క్యూ ఈవెంట్ ట్రాకింగ్ సబ్‌సిస్టమ్‌లోని దుర్బలత్వం (CVE-2022-0995) కెర్నల్ మెమరీలో హద్దులు లేని బఫర్‌కు డేటాను వ్రాయడానికి అనుమతిస్తుంది. ఈ దాడిని ఏదైనా అనధికారిక వినియోగదారు నిర్వహించవచ్చు మరియు దాని ఫలితంగా వారి కోడ్ కెర్నల్ హక్కులతో నడుస్తుంది. దుర్బలత్వం watch_queue_set_size() ఫంక్షన్‌లో ఉంది మరియు మెమరీని కేటాయించనప్పటికీ, జాబితాలోని అన్ని పాయింటర్‌లను క్లియర్ చేసే ప్రయత్నంతో అనుబంధించబడుతుంది. చాలా Linux పంపిణీలలో ఉపయోగించబడే "CONFIG_WATCH_QUEUE=y" ఎంపికతో కెర్నల్‌ను రూపొందిస్తున్నప్పుడు సమస్య ఏర్పడుతుంది.

    మార్చి 11న జోడించిన కెర్నల్ మార్పులో దుర్బలత్వం పరిష్కరించబడింది. మీరు ఈ పేజీలలో పంపిణీలలో ప్యాకేజీ నవీకరణల ప్రచురణలను అనుసరించవచ్చు: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. ఎక్స్‌ప్లోయిట్ ప్రోటోటైప్ ఇప్పటికే పబ్లిక్‌గా అందుబాటులో ఉంది మరియు ఉబుంటు 21.10లో కెర్నల్ 5.13.0-37తో నడుస్తున్నప్పుడు రూట్ యాక్సెస్‌ని పొందేందుకు మిమ్మల్ని అనుమతిస్తుంది.

    Linux కెర్నల్‌లో nf_tables, watch_queue మరియు IPsecలలో దోపిడీ చేయగల దుర్బలత్వాలు గుర్తించబడ్డాయి

  • IPv2022 మరియు IPv27666ని ఉపయోగిస్తున్నప్పుడు ఉపయోగించే IPsec కోసం ESP పరివర్తనల (ఎన్‌క్యాప్సులేటింగ్ సెక్యూరిటీ పేలోడ్) అమలుతో esp4 మరియు esp6 కెర్నల్ మాడ్యూల్‌లలో దుర్బలత్వం (CVE-4-6). దుర్బలత్వం సాధారణ అధికారాలు కలిగిన స్థానిక వినియోగదారుని కెర్నల్ మెమరీలో ఆబ్జెక్ట్‌లను ఓవర్‌రైట్ చేయడానికి మరియు సిస్టమ్‌పై వారి అధికారాలను పెంచడానికి అనుమతిస్తుంది. skb_page_frag_refill నిర్మాణం కోసం కేటాయించిన గరిష్ట మెమరీ పరిమాణాన్ని గరిష్ట సందేశ పరిమాణం మించవచ్చు కాబట్టి, కేటాయించిన మెమరీ పరిమాణం మరియు స్వీకరించబడిన వాస్తవ డేటా మధ్య సయోధ్య లేకపోవడం వల్ల సమస్య ఏర్పడింది.

    మార్చి 7న కెర్నల్‌లో దుర్బలత్వం పరిష్కరించబడింది (5.17, 5.16.15, మొదలైన వాటిలో పరిష్కరించబడింది). మీరు ఈ పేజీలలో పంపిణీలలో ప్యాకేజీ నవీకరణల ప్రచురణలను అనుసరించవచ్చు: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. డిఫాల్ట్ కాన్ఫిగరేషన్‌లో ఉబుంటు డెస్క్‌టాప్ 21.10కి రూట్ యాక్సెస్‌ను పొందేందుకు సాధారణ వినియోగదారుని అనుమతించే ఎక్స్‌ప్లోయిట్ యొక్క వర్కింగ్ ప్రోటోటైప్ ఇప్పటికే GitHubలో పోస్ట్ చేయబడింది. చిన్న మార్పులతో దోపిడీ ఫెడోరా మరియు డెబియన్‌లలో కూడా పని చేస్తుందని పేర్కొన్నారు. దోపిడీని వాస్తవానికి pwn2own 2022 పోటీ కోసం సిద్ధం చేయడం గమనార్హం, అయితే కెర్నల్ డెవలపర్‌లు దానితో అనుబంధించబడిన బగ్‌ను గుర్తించి సరిదిద్దారు, కాబట్టి దుర్బలత్వానికి సంబంధించిన వివరాలను వెల్లడించాలని నిర్ణయించారు.

  • nf_tables మాడ్యూల్‌లోని నెట్‌ఫిల్టర్ సబ్‌సిస్టమ్‌లో రెండు దుర్బలత్వాలు (CVE-2022-1015, CVE-2022-1016), ఇది nftables ప్యాకెట్ ఫిల్టర్ యొక్క ఆపరేషన్‌ను నిర్ధారిస్తుంది. మొదటి సంచిక స్టాక్‌లో కేటాయించబడిన బఫర్‌కు సరిహద్దుల వెలుపల వ్రాయడాన్ని సాధించడానికి స్థానిక అన్‌ప్రివిలేజ్డ్ వినియోగదారుని అనుమతిస్తుంది. ఒక నిర్దిష్ట మార్గంలో ఫార్మాట్ చేయబడిన మరియు nftables నియమాలకు ప్రాప్యత ఉన్న వినియోగదారు పేర్కొన్న సూచికల తనిఖీ దశలో ప్రాసెస్ చేయబడిన nftables వ్యక్తీకరణలను ప్రాసెస్ చేస్తున్నప్పుడు ఓవర్‌ఫ్లో సంభవిస్తుంది.

    "enum nft_registers reg" విలువ ఒకే బైట్ అని డెవలపర్‌లు సూచించడం వల్ల ఈ దుర్బలత్వం ఏర్పడింది, నిర్దిష్ట ఆప్టిమైజేషన్‌లు ప్రారంభించబడినప్పుడు, C89 స్పెసిఫికేషన్ ప్రకారం కంపైలర్ దాని కోసం 32-బిట్ విలువను ఉపయోగించవచ్చు. . ఈ లక్షణం కారణంగా, మెమరీని తనిఖీ చేసేటప్పుడు మరియు కేటాయించేటప్పుడు ఉపయోగించే పరిమాణం నిర్మాణంలోని డేటా యొక్క వాస్తవ పరిమాణానికి అనుగుణంగా లేదు, ఇది స్ట్రక్చర్ యొక్క టెయిల్ స్టాక్‌లోని పాయింటర్‌లతో అతివ్యాప్తి చెందడానికి దారితీస్తుంది.

    కెర్నల్ స్థాయిలో కోడ్‌ని అమలు చేయడానికి సమస్యను ఉపయోగించుకోవచ్చు, అయితే విజయవంతమైన దాడికి nftablesకి ప్రాప్యత అవసరం, CLONE_NEWUSER లేదా CLONE_NEWNET హక్కులతో ప్రత్యేక నెట్‌వర్క్ నేమ్‌స్పేస్‌లో పొందవచ్చు (ఉదాహరణకు, మీరు వివిక్త కంటైనర్‌ను అమలు చేయగలిగితే). దుర్బలత్వం కంపైలర్ ఉపయోగించే ఆప్టిమైజేషన్‌లకు కూడా దగ్గరి సంబంధం కలిగి ఉంటుంది, ఉదాహరణకు, “CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y” మోడ్‌లో నిర్మించేటప్పుడు ప్రారంభించబడుతుంది. Linux కెర్నల్ 5.12 నుండి దుర్బలత్వం యొక్క దోపిడీ సాధ్యమవుతుంది.

    నెట్‌ఫిల్టర్‌లో రెండవ దుర్బలత్వం nft_do_chain హ్యాండ్లర్‌లో ఇప్పటికే విడుదలైన మెమరీ ప్రాంతాన్ని (ఉపయోగం-తరువాత-ఉచిత) యాక్సెస్ చేయడం ద్వారా ఏర్పడుతుంది మరియు కెర్నల్ మెమరీ యొక్క అసంపూర్ణ ప్రాంతాల లీక్‌కు దారితీయవచ్చు, ఇది nftables వ్యక్తీకరణలతో మానిప్యులేషన్ ద్వారా చదవబడుతుంది మరియు ఉపయోగించబడుతుంది, ఉదాహరణకు, ఇతర దుర్బలత్వాల కోసం అభివృద్ధి దోపిడీల సమయంలో పాయింటర్ చిరునామాలను నిర్ణయించడం. Linux కెర్నల్ 5.13 నుండి దుర్బలత్వం యొక్క దోపిడీ సాధ్యమవుతుంది.

    నేటి కెర్నల్ ప్యాచ్‌లు 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274, మరియు 4.9.309లో దుర్బలత్వాలు పరిష్కరించబడ్డాయి. మీరు ఈ పేజీలలో పంపిణీలలో ప్యాకేజీ నవీకరణల ప్రచురణలను అనుసరించవచ్చు: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. సమస్యలను గుర్తించిన పరిశోధకుడు రెండు దుర్బలత్వాల కోసం వర్కింగ్ ఎక్స్‌ప్లోయిట్‌ల తయారీని ప్రకటించారు, పంపిణీలు కెర్నల్ ప్యాకేజీలకు అప్‌డేట్‌లను విడుదల చేసిన తర్వాత కొన్ని రోజుల్లో ప్రచురించాలని యోచిస్తున్నారు.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి