
Microvirt MEmu में दूरस्थ कोड निष्पादन
CVEID: CVE-2019-14514
प्रभावित उत्पाद(ओं) और संस्करण(ओं) का नाम: Microvirt MEmu (7.0.2 से पहले के सभी संस्करण)
समस्या प्रकार: CWE-78: OS कमांड में प्रयुक्त विशेष तत्वों का अनुचित तटस्थीकरण ('OS कमांड इंजेक्शन')
सारांश
MEmu विंडोज के लिए एक Android एम्युलेटर है। हमारे परीक्षणों के दौरान, हमने एक खुला TCP पोर्ट पाया जिसका उपयोग रूट विशेषाधिकारों के साथ कोड निष्पादन प्राप्त करने के लिए किया जा सकता है। 7.0.2 से पहले के सभी Microvirt MEmu संस्करणों में एक असुरक्षित बाइनरी है जो पोर्ट 21509 पर सुनती है। एक हमलावर Unix शेल में कमांड विभाजक के रूप में उपयोग किए जाने वाले विशेष वर्णों वाले तैयार संदेश भेजकर एक एम्युलेटेड Android सिस्टम पर रूट विशेषाधिकारों के साथ दूरस्थ कोड निष्पादन प्राप्त कर सकता है।
विवरण
/system/bin/systemd बाइनरी (Freedesktop systemd init सिस्टम से संबंधित नहीं) रूट उपयोगकर्ता द्वारा चलाया जाता है और पोर्ट 21509 पर कमांड सुनता है। यदि installer:uninstall से शुरू होने वाला एक कमांड भेजा जाता है, तो हमलावर-नियंत्रित इनपुट एक शेल कमांड टेम्पलेट में डाला जाएगा और बिना सत्यापन या एस्केपिंग के /system/bin/sh को पारित किया जाएगा। इसका मतलब है कि एक दूरस्थ हमलावर ;, && या || जैसे विशेष वर्ण सम्मिलित कर सकता है ताकि वह अपने स्वयं के शेल कमांड भेज सके जो एम्युलेटेड सिस्टम पर रूट विशेषाधिकारों के साथ निष्पादित होंगे।
पुनरुत्पादन
echo "installer:uninstall;[shell_command_to_execute]" | nc [emulator_ip] 21509
एम्युलेटर को कमांड निष्पादित करना चाहिए और फिर रीबूट करना चाहिए।
उपचार
MEmu को संस्करण 7.0.2 या बाद के संस्करण में अपडेट करें।