ఎగ్జిమ్‌లోని క్రిటికల్ వల్నరబిలిటీ వివరాలు వెల్లడయ్యాయి

ప్రచురించబడింది దిద్దుబాటు విడుదల ఎగ్జిమ్ 4.92.2 క్లిష్టమైన తొలగింపుతో దుర్బలత్వాలు (CVE-2019-15846), ఇది డిఫాల్ట్ కాన్ఫిగరేషన్‌లో రూట్ అధికారాలతో దాడి చేసే వ్యక్తి రిమోట్ కోడ్ అమలుకు దారి తీస్తుంది. TLS మద్దతు ప్రారంభించబడినప్పుడు మాత్రమే సమస్య కనిపిస్తుంది మరియు ప్రత్యేకంగా రూపొందించిన క్లయింట్ సర్టిఫికేట్ లేదా సవరించిన విలువను SNIకి పంపడం ద్వారా దోపిడీ చేయబడుతుంది. దుర్బలత్వం గుర్తించారు క్వాలిస్ ద్వారా.

సమస్య ప్రస్తుతం స్ట్రింగ్‌లోని ప్రత్యేక అక్షరాలను తప్పించుకోవడానికి హ్యాండ్లర్‌లో (string_interpret_escape() string.c నుండి) మరియు శూన్య అక్షరం ('\0') కంటే ముందు వాక్యం చివర '\' అక్షరం అర్థం చేసుకోవడం మరియు దాని నుండి తప్పించుకోవడం వలన ఏర్పడుతుంది. తప్పించుకునేటప్పుడు, క్రమం '\' మరియు క్రింది శూన్య ముగింపు కోడ్ ఒకే అక్షరంగా పరిగణించబడతాయి మరియు పాయింటర్ లైన్ వెలుపల ఉన్న డేటాకు మార్చబడుతుంది, ఇది లైన్ యొక్క కొనసాగింపుగా పరిగణించబడుతుంది.

కోడ్ కాలింగ్ string_interpret_escape() అసలు పరిమాణం ఆధారంగా కాలువ కోసం బఫర్‌ను కేటాయిస్తుంది మరియు బహిర్గతమైన పాయింటర్ బఫర్ సరిహద్దుల వెలుపలి ప్రాంతంలో ముగుస్తుంది. దీని ప్రకారం, ఇన్‌పుట్ స్ట్రింగ్‌ను ప్రాసెస్ చేయడానికి ప్రయత్నిస్తున్నప్పుడు, కేటాయించిన బఫర్‌కు వెలుపల ఉన్న ప్రాంతం నుండి డేటాను చదివేటప్పుడు పరిస్థితి ఏర్పడుతుంది మరియు తప్పించుకోని స్ట్రింగ్‌ను వ్రాయడానికి ప్రయత్నించడం బఫర్ యొక్క హద్దులు దాటి వ్రాయడానికి దారి తీస్తుంది.

డిఫాల్ట్ కాన్ఫిగరేషన్‌లో, సర్వర్‌కు సురక్షిత కనెక్షన్‌ని ఏర్పాటు చేసేటప్పుడు ప్రత్యేకంగా రూపొందించిన డేటాను SNIకి పంపడం ద్వారా దుర్బలత్వాన్ని ఉపయోగించుకోవచ్చు. క్లయింట్ సర్టిఫికేట్ ప్రామాణీకరణ కోసం కాన్ఫిగర్ చేయబడిన కాన్ఫిగరేషన్‌లలో లేదా సర్టిఫికేట్‌లను దిగుమతి చేసుకునేటప్పుడు peerdn విలువలను సవరించడం ద్వారా కూడా సమస్యను ఉపయోగించుకోవచ్చు. విడుదల నుండి SNI మరియు peerdn ద్వారా దాడి సాధ్యమవుతుంది ఎగ్జిమ్ 4.80, దీనిలో peerdn మరియు SNI కంటెంట్‌లను అన్‌ప్రింట్ చేయడానికి string_unprinting() ఫంక్షన్ ఉపయోగించబడింది.

Glibcతో Linux సిస్టమ్‌లపై i386 మరియు amd64 ఆర్కిటెక్చర్‌లపై SNI ద్వారా దాడి చేయడానికి ఎక్స్‌ప్లోయిట్ ప్రోటోటైప్ సిద్ధం చేయబడింది. దోపిడీ హీప్ ఏరియాపై డేటా ఓవర్‌లేని ఉపయోగిస్తుంది, ఫలితంగా లాగ్ ఫైల్ పేరు నిల్వ చేయబడిన మెమరీని ఓవర్‌రైట్ చేస్తుంది. ఫైల్ పేరు "/../../../../../../../../etc/passwd"తో భర్తీ చేయబడింది. తరువాత, పంపినవారి చిరునామాతో వేరియబుల్ ఓవర్‌రైట్ చేయబడింది, ఇది మొదట లాగ్‌లో సేవ్ చేయబడుతుంది, ఇది సిస్టమ్‌కు కొత్త వినియోగదారుని జోడించడానికి మిమ్మల్ని అనుమతిస్తుంది.

పంపిణీల ద్వారా విడుదల చేయబడిన దుర్బలత్వ పరిష్కారాలతో కూడిన ప్యాకేజీ నవీకరణలు డెబియన్, ఉబుంటు, Fedora, SUSE/openSUSE и FreeBSD. RHEL మరియు CentOS సమస్య లొంగనిది కాదు, Exim వారి సాధారణ ప్యాకేజీ రిపోజిటరీలో చేర్చబడలేదు కాబట్టి (లో వెచ్చగా నవీకరణ ఇప్పటికే ఏర్పడింది, కానీ ప్రస్తుతానికి ఉంచబడలేదు పబ్లిక్ రిపోజిటరీకి). ఎగ్జిమ్ కోడ్‌లో సమస్య ఒక లైనర్‌తో పరిష్కరించబడింది పాచ్, ఇది లైన్ చివరిలో ఉంటే బ్యాక్‌స్లాష్ యొక్క తప్పించుకునే ప్రభావాన్ని నిలిపివేస్తుంది.

దుర్బలత్వాన్ని నిరోధించడానికి ప్రత్యామ్నాయంగా, మీరు TLS మద్దతుని నిలిపివేయవచ్చు లేదా జోడించవచ్చు
ACL విభాగం “acl_smtp_mail”:

నిరాకరణ షరతు = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
నిరాకరించు షరతు = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

మూలం: opennet.ru

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