systemdలోని దుర్బలత్వం మీ అధికారాలను పెంచుకోవడానికి మిమ్మల్ని అనుమతించగలదు

systemd సిస్టమ్ మేనేజర్‌లో గుర్తించారు దుర్బలత్వం (CVE-2020-1712), ఇది DBus బస్సులో ప్రత్యేకంగా రూపొందించిన అభ్యర్థనను పంపడం ద్వారా మీ కోడ్‌ను ఎలివేటెడ్ అధికారాలతో అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. పరీక్ష విడుదలలో సమస్య పరిష్కరించబడింది systemd 245-rc1 (సమస్యను పరిష్కరించే పాచెస్: 1, 2, 3) పంపిణీలలో దుర్బలత్వం పరిష్కరించబడింది ఉబుంటు, Fedora, RHEL (RHEL 8లో కనిపిస్తుంది, కానీ RHEL 7ని ప్రభావితం చేయదు) centos и SUSE/openSUSE, కానీ వ్రాసే సమయంలో వార్తలు సరిదిద్దబడలేదు డెబియన్ и ఆర్చ్ లైనక్స్.

DBus సందేశాలను ప్రాసెస్ చేస్తున్నప్పుడు పోల్‌కిట్‌కి అభ్యర్థనలను అసమకాలికంగా అమలు చేస్తున్నప్పుడు సంభవించే ఇప్పటికే విముక్తి పొందిన మెమరీ ప్రాంతానికి (ఉపయోగం-తరువాత-ఉచితం) యాక్సెస్ ద్వారా దుర్బలత్వం ఏర్పడుతుంది. కొన్ని DBus ఇంటర్‌ఫేస్‌లు వస్తువులను తక్కువ సమయం పాటు నిల్వ చేయడానికి కాష్‌ని ఉపయోగిస్తాయి మరియు ఇతర అభ్యర్థనలను ప్రాసెస్ చేయడానికి DBus బస్సు ఉచితం అయిన వెంటనే కాష్ ఎంట్రీలను ఫ్లష్ చేస్తుంది. ఒకవేళ DBus మెథడ్ హ్యాండ్లర్ bus_verify_polkit_async()ని ఉపయోగిస్తుంటే, అది Polkit చర్య పూర్తయ్యే వరకు వేచి ఉండాల్సి రావచ్చు. Polkit సిద్ధమైన తర్వాత, హ్యాండ్లర్ మళ్లీ కాల్ చేయబడి, మెమరీలో ఇప్పటికే పంపిణీ చేయబడిన డేటాను యాక్సెస్ చేస్తుంది. Polkitకి అభ్యర్థన చాలా సమయం తీసుకుంటే, DBus మెథడ్ హ్యాండ్లర్‌ని రెండవసారి పిలవడానికి ముందు కాష్‌లోని అంశాలు క్లియర్ చేయబడతాయి.

దుర్బలత్వం యొక్క దోపిడీని అనుమతించే సేవల్లో, systemd-machined గుర్తించబడింది, ఇది DBus API org.freedesktop.machine1.Image.Cloneని అందిస్తుంది, ఇది కాష్‌లో డేటాను తాత్కాలికంగా నిల్వ చేయడానికి మరియు పోల్‌కిట్‌కి అసమకాలిక యాక్సెస్‌కు దారి తీస్తుంది. ఇంటర్ఫేస్
org.freedesktop.machine1.Image.Clone సిస్టమ్ యొక్క ప్రత్యేకించబడని వినియోగదారులందరికీ అందుబాటులో ఉంది, ఇది systemd సేవలను క్రాష్ చేయగలదు లేదా కోడ్‌ను రూట్‌గా అమలు చేయడానికి సంభావ్యంగా కారణమవుతుంది (ఎక్స్‌ప్లోయిట్ ప్రోటోటైప్ ఇంకా ప్రదర్శించబడలేదు). దుర్బలత్వం యొక్క దోపిడీని అనుమతించే కోడ్ జోడించబడింది 2015 వెర్షన్‌లో systemd-మెషిన్డ్‌లో systemd 220 (RHEL 7.x systemd 219ని ఉపయోగిస్తుంది).

మూలం: opennet.ru

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