ld.so OpenBSDలో దుర్బలత్వం

డైనమిక్ లోడర్ ld.so., OpenBSDతో చేర్చబడింది, కొన్ని షరతులలో ఉండవచ్చు, SUID/SGID- అప్లికేషన్‌లు LD_LIBRARY_PATH ఎన్విరాన్‌మెంట్ వేరియబుల్‌ను వదిలివేస్తాయి మరియు తద్వారా ఎలివేటెడ్ అధికారాలతో నడుస్తున్న ప్రక్రియ సందర్భంలో థర్డ్-పార్టీ కోడ్‌ను లోడ్ చేయడానికి అనుమతిస్తాయి. హానిని పరిష్కరించే ప్యాచ్‌లు విడుదలల కోసం అందుబాటులో ఉన్నాయి 6.5 и 6.6. బైనరీ పాచెస్ (సిస్పాచ్) amd64, i386 మరియు arm64 ప్లాట్‌ఫారమ్‌లు ఇప్పటికే ఉత్పత్తిలో ఉన్నాయి మరియు ఈ వార్త ప్రచురించబడే సమయానికి డౌన్‌లోడ్ చేసుకోవడానికి అందుబాటులో ఉండాలి.

సమస్య యొక్క సారాంశం: ఆపరేషన్ సమయంలో, ld.so మొదట పర్యావరణం నుండి LD_LIBRARY_PATH వేరియబుల్ యొక్క విలువను సంగ్రహిస్తుంది మరియు _dl_split_path() ఫంక్షన్‌ని ఉపయోగించి, దానిని స్ట్రింగ్‌ల శ్రేణిగా మారుస్తుంది - డైరెక్టరీలకు మార్గాలు. ప్రస్తుత ప్రక్రియ SUID/SGID అప్లికేషన్ ద్వారా ప్రారంభించబడిందని తర్వాత తేలితే, సృష్టించబడిన శ్రేణి మరియు వాస్తవానికి, LD_LIBRARY_PATH వేరియబుల్ క్లియర్ చేయబడతాయి. అదే సమయంలో, _dl_split_path() మెమరీ అయిపోతే (ఇది ఎన్విరాన్‌మెంట్ వేరియబుల్స్ పరిమాణంపై స్పష్టమైన 256 kB పరిమితి కారణంగా కష్టం, కానీ సిద్ధాంతపరంగా సాధ్యమవుతుంది), అప్పుడు _dl_libpath వేరియబుల్ NULL విలువను అందుకుంటుంది మరియు తదుపరి తనిఖీలు ఈ వేరియబుల్ విలువ _dl_unsetenv("LD_LIBRARY_PATH")కి కాల్‌ను దాటవేయడానికి బలవంతం చేస్తుంది.

నిపుణులు కనుగొన్న దుర్బలత్వం క్వాలిస్, అలాగే అనేక గతంలో వెల్లడించింది సమస్యలు. దుర్బలత్వాన్ని గుర్తించిన భద్రతా పరిశోధకులు సమస్య ఎంత త్వరగా పరిష్కరించబడిందో గుర్తించారు: ఓపెన్‌బిఎస్‌డి ప్రాజెక్ట్ నోటిఫికేషన్‌ను స్వీకరించిన మూడు గంటలలోపు ప్యాచ్ సిద్ధం చేయబడింది మరియు నవీకరణలు విడుదల చేయబడ్డాయి.

అదనంగా: సమస్యకు ఒక సంఖ్య కేటాయించబడింది CVE-2019-19726. oss-సెక్యూరిటీ మెయిలింగ్ జాబితాలో రూపొందించబడింది అధికారిక ప్రకటన, ఓపెన్‌బిఎస్‌డి 6.6, 6.5, 6.2 మరియు 6.1 ఆర్కిటెక్చర్‌లపై నడుస్తున్న ప్రోటోటైప్ ఎక్స్‌ప్లోయిట్‌తో సహా
amd64 మరియు i386 (దోపిడీని ఇతర నిర్మాణాలకు అనుగుణంగా మార్చవచ్చు).
సమస్య డిఫాల్ట్ ఇన్‌స్టాలేషన్‌లో ఉపయోగించుకోదగినది మరియు chpass లేదా passwd suid యుటిలిటీలను అమలు చేస్తున్నప్పుడు లైబ్రరీ ప్రత్యామ్నాయం ద్వారా రూట్‌గా కోడ్‌ని అమలు చేయడానికి ఒక ప్రత్యేకించబడని స్థానిక వినియోగదారుని అనుమతిస్తుంది. ఆపరేషన్ కోసం అవసరమైన తక్కువ-మెమరీ పరిస్థితులను సృష్టించడానికి, setrlimit ద్వారా RLIMIT_DATA పరిమితిని సెట్ చేయండి.

మూలం: opennet.ru

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