పాచ్డ్ ఎగ్జిమ్ - మళ్లీ ప్యాచ్. ఒక అభ్యర్థనలో Exim 4.92లో తాజా రిమోట్ కమాండ్ అమలు

పాచ్డ్ ఎగ్జిమ్ - మళ్లీ ప్యాచ్. ఒక అభ్యర్థనలో Exim 4.92లో తాజా రిమోట్ కమాండ్ అమలు

ఇటీవల, వేసవి ప్రారంభంలో, CVE-4.92-2019 దుర్బలత్వం కారణంగా ఎగ్జిమ్‌ను వెర్షన్ 10149కి అప్‌డేట్ చేయాలని విస్తృతంగా కాల్స్ వచ్చాయి (ఎక్సిమ్‌ను అత్యవసరంగా 4.92కి అప్‌డేట్ చేయండి - యాక్టివ్ ఇన్‌ఫెక్షన్ ఉంది / సుడో నల్ IT న్యూస్) మరియు ఇటీవలే Sustes మాల్వేర్ ఈ దుర్బలత్వాన్ని ఉపయోగించుకోవాలని నిర్ణయించుకున్నట్లు తేలింది.

ఇప్పుడు అత్యవసరంగా అప్‌డేట్ చేసిన వారందరూ మళ్లీ “సంతోషించవచ్చు”: జూలై 21, 2019న, పరిశోధకుడు జీరాన్స్ కీలకమైన దుర్బలత్వాన్ని కనుగొన్నారు. TLSని ఉపయోగిస్తున్నప్పుడు ఎగ్జిమ్ మెయిల్ ట్రాన్స్‌ఫర్ ఏజెంట్ (MTA). నుండి సంస్కరణల కోసం 4.80 రోలర్స్ X కలుపుకొని, రిమోట్‌ని అనుమతిస్తుంది ప్రత్యేక హక్కులతో కోడ్‌ని అమలు చేయండి (CVE-2019-15846).

దుర్బలత్వం

సురక్షిత TLS కనెక్షన్‌ని స్థాపించేటప్పుడు GnuTLS మరియు OpenSSL లైబ్రరీలను ఉపయోగిస్తున్నప్పుడు దుర్బలత్వం ఉంటుంది.

డెవలపర్ Heiko Schlittermann ప్రకారం, ఎగ్జిమ్‌లోని కాన్ఫిగరేషన్ ఫైల్ డిఫాల్ట్‌గా TLSని ఉపయోగించదు, అయితే చాలా డిస్ట్రిబ్యూషన్‌లు ఇన్‌స్టాలేషన్ సమయంలో అవసరమైన సర్టిఫికేట్‌లను సృష్టించి, సురక్షిత కనెక్షన్‌ని ప్రారంభిస్తాయి. ఎగ్జిమ్ యొక్క కొత్త వెర్షన్లు కూడా ఎంపికను ఇన్‌స్టాల్ చేస్తాయి tls_advertise_hosts=* మరియు అవసరమైన ధృవపత్రాలను రూపొందించండి.

ఆకృతీకరణపై ఆధారపడి ఉంటుంది. చాలా డిస్ట్రోలు దీన్ని డిఫాల్ట్‌గా ప్రారంభిస్తాయి, కానీ ఎగ్జిమ్‌కి TLS సర్వర్‌గా పని చేయడానికి సర్టిఫికేట్+కీ అవసరం. సెటప్ సమయంలో బహుశా Distros ఒక Certని సృష్టిస్తుంది. కొత్త ఎగ్జిమ్‌లు tls_advertise_hosts ఎంపికను "*"కి డిఫాల్ట్‌గా కలిగి ఉంటాయి మరియు ఏదీ అందించకపోతే స్వీయ సంతకం చేసిన ప్రమాణపత్రాన్ని సృష్టించండి.

దుర్బలత్వం అనేది SNI యొక్క తప్పు ప్రాసెసింగ్‌లో ఉంది (సర్వర్ నేమ్ ఇండికేషన్, ఒక క్లయింట్ డొమైన్ పేరు కోసం సరైన సర్టిఫికేట్‌ను అభ్యర్థించడానికి RFC 2003లో 3546లో ప్రవేశపెట్టబడిన సాంకేతికత, TLS SNI ప్రమాణం పంపిణీ / WEBO గ్రూప్ బ్లాగ్ / సుడో శూన్య IT వార్తలు) TLS హ్యాండ్‌షేక్ సమయంలో. దాడి చేసే వ్యక్తి బ్యాక్‌స్లాష్ ("") మరియు శూన్య అక్షరం (" ")తో ముగిసే SNIని పంపాలి.

Qualys నుండి పరిశోధకులు string_printing(tls_in.sni) ఫంక్షన్‌లో బగ్‌ను కనుగొన్నారు, ఇందులో “” తప్పుగా తప్పించుకోవడం ఉంటుంది. ఫలితంగా, బ్యాక్‌స్లాష్ ప్రింట్ స్పూల్ హెడర్ ఫైల్‌కు తప్పించుకోకుండా వ్రాయబడుతుంది. ఈ ఫైల్ spool_read_header() ఫంక్షన్ ద్వారా విశేష హక్కులతో చదవబడుతుంది, ఇది హీప్ ఓవర్‌ఫ్లోకి దారి తీస్తుంది.

ప్రస్తుతానికి, ఎగ్జిమ్ డెవలపర్‌లు రిమోట్ హాని కలిగించే సర్వర్‌లో ఆదేశాలను అమలు చేయడంతో దుర్బలత్వాల PoCని సృష్టించారని గమనించాలి, అయితే ఇది ఇంకా బహిరంగంగా అందుబాటులో లేదు. బగ్ యొక్క దోపిడీ సౌలభ్యం కారణంగా, ఇది సమయం యొక్క విషయం మరియు చాలా తక్కువ.

Qualys ద్వారా మరింత వివరణాత్మక అధ్యయనం కనుగొనవచ్చు ఇక్కడ.

పాచ్డ్ ఎగ్జిమ్ - మళ్లీ ప్యాచ్. ఒక అభ్యర్థనలో Exim 4.92లో తాజా రిమోట్ కమాండ్ అమలు

TLSలో SNIని ఉపయోగించడం

హాని కలిగించే పబ్లిక్ సర్వర్‌ల సంఖ్య

పెద్ద హోస్టింగ్ ప్రొవైడర్ నుండి గణాంకాల ప్రకారం E-Soft Inc సెప్టెంబర్ 1 నాటికి, అద్దెకు తీసుకున్న సర్వర్‌లలో, 4.92% కంటే ఎక్కువ హోస్ట్‌లలో వెర్షన్ 70 ఉపయోగించబడుతుంది.

వెర్షన్
సర్వర్ల సంఖ్య
శాతం

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

ఇతర సంస్కరణలు
25568
5.04%

E-Soft Inc కంపెనీ గణాంకాలు

మీరు శోధన ఇంజిన్‌ని ఉపయోగిస్తే షోడాన్ను, ఆపై సర్వర్ డేటాబేస్‌లోని 5,250,000లో:

  • దాదాపు 3,500,000 మంది Exim 4.92ని ఉపయోగిస్తున్నారు (సుమారు 1,380,000 SSL/TLSని ఉపయోగిస్తున్నారు);
  • 74,000ని ఉపయోగించి 4.92.1 పైగా (సుమారు 25,000 SSL/TLSని ఉపయోగిస్తున్నారు).

అందువల్ల, పబ్లిక్‌గా తెలిసిన మరియు యాక్సెస్ చేయగల Exim సంభావ్యంగా హాని కలిగించే సర్వర్‌ల సంఖ్య గురించి 1.5 మిలియన్.

పాచ్డ్ ఎగ్జిమ్ - మళ్లీ ప్యాచ్. ఒక అభ్యర్థనలో Exim 4.92లో తాజా రిమోట్ కమాండ్ అమలు

షోడాన్‌లో ఎగ్జిమ్ సర్వర్‌ల కోసం శోధించండి

రక్షణ

  • సులభమైన, కానీ సిఫార్సు చేయని ఎంపిక TLSని ఉపయోగించకూడదు, దీని ఫలితంగా ఇమెయిల్ సందేశాలు స్పష్టంగా ఫార్వార్డ్ చేయబడతాయి.
  • దుర్బలత్వం యొక్క దోపిడీని నివారించడానికి, సంస్కరణకు నవీకరించడం మరింత ఉత్తమం ఎగ్జిమ్ ఇంటర్నెట్ మెయిలర్ 4.92.2.
  • ప్యాచ్ చేసిన సంస్కరణను నవీకరించడం లేదా ఇన్‌స్టాల్ చేయడం అసాధ్యం అయితే, మీరు ఎంపిక కోసం ఎగ్జిమ్ కాన్ఫిగరేషన్‌లో ACLని సెట్ చేయవచ్చు acl_smtp_mail కింది నియమాలతో:
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

మూలం: www.habr.com

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