రస్ట్ మరియు గో లాంగ్వేజ్ల ప్రామాణిక లైబ్రరీలలో అడ్రస్ పార్సింగ్ ఫంక్షన్లలోని అష్టాంశ అంకెలతో కూడిన IP చిరునామాల తప్పు ప్రాసెసింగ్కు సంబంధించిన దుర్బలత్వాలు గుర్తించబడ్డాయి. దుర్బలత్వాలు అప్లికేషన్లలో చెల్లుబాటు అయ్యే చిరునామాల కోసం తనిఖీలను దాటవేయడాన్ని సాధ్యం చేస్తాయి, ఉదాహరణకు, SSRF (సర్వర్-సైడ్ రిక్వెస్ట్ ఫోర్జరీ) దాడులను నిర్వహిస్తున్నప్పుడు లూప్బ్యాక్ ఇంటర్ఫేస్ చిరునామాలు (127.xxx) లేదా ఇంట్రానెట్ సబ్నెట్లకు యాక్సెస్ని నిర్వహించడానికి. లైబ్రరీల నోడ్-నెట్మాస్క్ (జావాస్క్రిప్ట్, CVE-2021-28918, CVE-2021-29418), ప్రైవేట్-ip (JavaScript, CVE-2020-28360), ipaddress (Python, CVE-)లో గతంలో గుర్తించిన సమస్యల చక్రాన్ని దుర్బలత్వాలు కొనసాగిస్తాయి. 2021-29921 ), డేటా:: చెల్లుబాటు:: IP (పెర్ల్, CVE-2021-29662) మరియు నెట్:: నెట్మాస్క్ (పెర్ల్, CVE-2021-29424).
స్పెసిఫికేషన్ ప్రకారం, సున్నాతో ప్రారంభమయ్యే IP చిరునామా స్ట్రింగ్ విలువలను అష్ట సంఖ్యలుగా అర్థం చేసుకోవాలి, అయితే చాలా లైబ్రరీలు దీనిని పరిగణనలోకి తీసుకోవు మరియు సున్నాని విస్మరించి, విలువను దశాంశ సంఖ్యగా పరిగణిస్తాయి. ఉదాహరణకు, ఆక్టల్లోని 0177 సంఖ్య దశాంశంలో 127కి సమానం. దాడి చేసే వ్యక్తి "0177.0.0.1" విలువను పేర్కొనడం ద్వారా వనరును అభ్యర్థించవచ్చు, ఇది దశాంశ సంజ్ఞామానంలో "127.0.0.1"కి అనుగుణంగా ఉంటుంది. సమస్యాత్మక లైబ్రరీని ఉపయోగించినట్లయితే, 0177.0.0.1 చిరునామా సబ్నెట్ 127.0.0.1/8లో ఉందని అప్లికేషన్ గుర్తించదు, కానీ వాస్తవానికి, అభ్యర్థనను పంపేటప్పుడు, అది “0177.0.0.1” చిరునామాను యాక్సెస్ చేయగలదు. నెట్వర్క్ ఫంక్షన్లు 127.0.0.1 వలె ప్రాసెస్ చేయబడతాయి. అదే విధంగా, మీరు “012.0.0.1” (“10.0.0.1”కి సమానం) వంటి విలువలను పేర్కొనడం ద్వారా ఇంట్రానెట్ చిరునామాలకు యాక్సెస్ చెక్ను మోసం చేయవచ్చు.
రస్ట్లో, ప్రామాణిక లైబ్రరీ "std::net" సమస్య (CVE-2021-29922) ద్వారా ప్రభావితమైంది. ఈ లైబ్రరీ యొక్క IP చిరునామా పార్సర్ చిరునామాలోని విలువలకు ముందు సున్నాని విస్మరించింది, అయితే కేవలం మూడు అంకెల కంటే ఎక్కువ పేర్కొనబడకపోతే, ఉదాహరణకు, “0177.0.0.1” చెల్లని విలువగా పరిగణించబడుతుంది మరియు తప్పు ఫలితం 010.8.8.8 మరియు 127.0.026.1కి ప్రతిస్పందనగా తిరిగి ఇవ్వబడుతుంది. వినియోగదారు పేర్కొన్న చిరునామాలను అన్వయించేటప్పుడు std::net::IpAddrని ఉపయోగించే అప్లికేషన్లు SSRF (సర్వర్-సైడ్ రిక్వెస్ట్ ఫోర్జరీ), RFI (రిమోట్ ఫైల్ ఇన్క్లూజన్) మరియు LFI (లోకల్ ఫైల్ ఇన్క్లూజన్) దాడులకు గురయ్యే అవకాశం ఉంది. రస్ట్ 1.53.0 బ్రాంచ్లో దుర్బలత్వం పరిష్కరించబడింది.
గోలో, ప్రామాణిక లైబ్రరీ "నెట్" ప్రభావితం చేయబడింది (CVE-2021-29923). net.ParseCIDR అంతర్నిర్మిత ఫంక్షన్ వాటిని ప్రాసెస్ చేయడానికి బదులుగా అష్ట సంఖ్యల ముందు ప్రధాన సున్నాలను దాటవేస్తుంది. ఉదాహరణకు, దాడి చేసే వ్యక్తి 00000177.0.0.1 విలువను పాస్ చేయవచ్చు, ఇది net.ParseCIDR(00000177.0.0.1/24) ఫంక్షన్లో తనిఖీ చేసినప్పుడు, 177.0.0.1/24గా అన్వయించబడుతుంది మరియు 127.0.0.1/24 కాదు. సమస్య కుబెర్నెట్స్ ప్లాట్ఫారమ్లో కూడా వ్యక్తమవుతుంది. గో విడుదల 1.16.3 మరియు బీటా 1.17లో దుర్బలత్వం పరిష్కరించబడింది.
మూలం: opennet.ru