పోల్కిట్ కాంపోనెంట్లో ఒక దుర్బలత్వం (CVE-2021-3560) గుర్తించబడింది, ఇది స్థానిక వినియోగదారుని అనుమతించే ఎలివేటెడ్ యాక్సెస్ హక్కులు (ఉదాహరణకు, USB డ్రైవ్ను మౌంట్ చేయడం) అవసరమయ్యే చర్యలను చేయడానికి ప్రత్యేకించని వినియోగదారులను అనుమతించడానికి పంపిణీలలో ఉపయోగించబడుతుంది. వ్యవస్థలో మూల హక్కులను పొందండి. పోల్కిట్ వెర్షన్ 0.119లో దుర్బలత్వం పరిష్కరించబడింది.
0.113 విడుదలైనప్పటి నుండి సమస్య ఉంది, అయితే RHEL, Ubuntu, Debian మరియు SUSEతో సహా అనేక పంపిణీలు, పాత Polkit విడుదలల ఆధారంగా ప్రభావితమైన కార్యాచరణను ప్యాకేజీలుగా బ్యాక్పోర్ట్ చేశాయి (ప్యాకేజీ పరిష్కారాలు ఇప్పటికే పంపిణీలలో అందుబాటులో ఉన్నాయి).
సమస్య polkit_system_bus_name_get_creds_sync() ఫంక్షన్లో వ్యక్తమవుతుంది, ఇది ప్రివిలేజ్ ఎలివేషన్ని అభ్యర్థించే ప్రక్రియ యొక్క ఐడెంటిఫైయర్లను (uid మరియు pid) పొందుతుంది. DBusలో ఒక ప్రత్యేక పేరును కేటాయించడం ద్వారా Polkit ద్వారా ఒక ప్రక్రియ గుర్తించబడుతుంది, అది అధికారాలను ధృవీకరించడానికి ఉపయోగించబడుతుంది. polkit_system_bus_name_get_creds_sync హ్యాండ్లర్ ప్రారంభమయ్యే ముందు ఒక ప్రాసెస్ dbus-daemon నుండి డిస్కనెక్ట్ అయినట్లయితే, హ్యాండ్లర్ ప్రత్యేక పేరుకు బదులుగా ఎర్రర్ కోడ్ని అందుకుంటారు.
uid/pidకి ప్రాసెస్ను సరిపోల్చలేకున్నా మరియు ప్రాసెస్ కోసం అభ్యర్థించిన అధికారాలను ధృవీకరించలేనప్పటికీ, తిరిగి అందించిన ఎర్రర్ కోడ్ సరిగ్గా ప్రాసెస్ చేయబడకపోవడం మరియు polkit_system_bus_name_get_creds_sync() ఫంక్షన్ తప్పుకు బదులుగా TRUE అని అందించడం వల్ల ఈ దుర్బలత్వం ఏర్పడింది. polkit_system_bus_name_get_creds_sync() ఫంక్షన్ని పిలిచే కోడ్, చెక్ విజయవంతమైందని మరియు అధికారాలను పెంచాలనే అభ్యర్థన రూట్ నుండి వచ్చిందని మరియు ప్రత్యేకించబడని వినియోగదారు నుండి కాదని ఊహిస్తుంది, ఇది అదనపు ధృవీకరణ మరియు ధృవీకరణ లేకుండా ప్రత్యేక చర్యలను చేయడం సాధ్యపడుతుంది.
మూలం: opennet.ru