systemd సిస్టమ్ మేనేజర్లో
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 సేవలను క్రాష్ చేయగలదు లేదా కోడ్ను రూట్గా అమలు చేయడానికి సంభావ్యంగా కారణమవుతుంది (ఎక్స్ప్లోయిట్ ప్రోటోటైప్ ఇంకా ప్రదర్శించబడలేదు). దుర్బలత్వం యొక్క దోపిడీని అనుమతించే కోడ్
మూలం: opennet.ru