ప్రచురించబడింది పంపిణీ చేయబడిన మూల నియంత్రణ వ్యవస్థ యొక్క దిద్దుబాటు విడుదలలు Git 2.26.2, 2.25.4, 2.24.3, 2.23.3, 2.22.4, 2.21.3, 2.20.4, 2.19.5, 2.18.4 మరియు 2.17.5, లో ఇది తొలగించబడింది దుర్బలత్వం (CVE-2020-11008), గుర్తుచేస్తుంది సమస్య, గత వారం ఎలిమినేట్ అయ్యారు. కొత్త దుర్బలత్వం "credential.helper" హ్యాండ్లర్లను కూడా ప్రభావితం చేస్తుంది మరియు కొత్త లైన్ అక్షరం, ఖాళీ హోస్ట్ లేదా పేర్కొనబడని అభ్యర్థన స్కీమ్ని కలిగి ఉన్న ప్రత్యేకంగా ఫార్మాట్ చేయబడిన URLని పాస్ చేస్తున్నప్పుడు దోపిడీ చేయబడుతుంది. అటువంటి URLని ప్రాసెస్ చేస్తున్నప్పుడు, credential.helper అభ్యర్థించిన ప్రోటోకాల్ లేదా యాక్సెస్ చేయబడుతున్న హోస్ట్తో సరిపోలని ఆధారాల గురించి సమాచారాన్ని పంపుతుంది.
మునుపటి సమస్య వలె కాకుండా, కొత్త దుర్బలత్వాన్ని ఉపయోగించుకునేటప్పుడు, దాడి చేసే వ్యక్తి వేరొకరి ఆధారాలను బదిలీ చేసే హోస్ట్ని నేరుగా నియంత్రించలేరు. ఏ ఆధారాలు లీక్ అవుతాయి అనేది credential.helperలో తప్పిపోయిన “హోస్ట్” పరామితి ఎలా నిర్వహించబడుతుందనే దానిపై ఆధారపడి ఉంటుంది. సమస్య యొక్క ప్రధాన అంశం ఏమిటంటే, URLలోని ఖాళీ ఫీల్డ్లు ప్రస్తుత అభ్యర్థనకు ఏవైనా ఆధారాలను వర్తింపజేయడానికి సూచనల వలె అనేక credential.helper హ్యాండ్లర్ల ద్వారా వివరించబడ్డాయి. అందువలన, credential.helper మరొక సర్వర్ కోసం నిల్వ చేసిన ఆధారాలను URLలో పేర్కొన్న దాడి చేసేవారి సర్వర్కు పంపవచ్చు.
"git clone" మరియు "git fetch" వంటి కార్యకలాపాలను నిర్వహిస్తున్నప్పుడు సమస్య ఏర్పడుతుంది, కానీ సబ్మాడ్యూల్లను ప్రాసెస్ చేస్తున్నప్పుడు అత్యంత ప్రమాదకరమైనది - "git submodule update" చేస్తున్నప్పుడు, రిపోజిటరీ నుండి .gitmodules ఫైల్లో పేర్కొన్న URLలు స్వయంచాలకంగా ప్రాసెస్ చేయబడతాయి. సమస్యను నిరోధించడానికి ప్రత్యామ్నాయంగా సిఫార్సు పబ్లిక్ రిపోజిటరీలను యాక్సెస్ చేస్తున్నప్పుడు credential.helperని ఉపయోగించవద్దు మరియు ఎంపిక చేయని రిపోజిటరీలతో "--recurse-submodules" మోడ్లో "git clone"ని ఉపయోగించవద్దు.
కొత్త Git విడుదలలలో అందించబడింది దిద్దుబాటు కలిగి ఉన్న URLల కోసం credential.helperకి కాల్ చేయడాన్ని నిరోధిస్తుంది ప్రాతినిధ్యం లేని విలువలు (ఉదాహరణకు, రెండింటికి బదులుగా మూడు స్లాష్లను పేర్కొనేటప్పుడు - “http:///host” లేదా ప్రోటోకాల్ స్కీమ్ లేకుండా - “http::ftp.example.com/”). సమస్య స్టోర్ (అంతర్నిర్మిత Git క్రెడెన్షియల్ స్టోరేజ్), కాష్ (నమోదు చేసిన ఆధారాల యొక్క అంతర్నిర్మిత కాష్) మరియు osxkeychain (macOS నిల్వ) హ్యాండ్లర్లను ప్రభావితం చేస్తుంది. Git క్రెడెన్షియల్ మేనేజర్ (Windows రిపోజిటరీ) హ్యాండ్లర్ ప్రభావితం కాదు.