Save Your Cloud: DoS On VMs In OpenNebula 4.6.1
This is a post about an old vulnerability that I finally found the time to blog about. It dates back to 2014, but from a technical point of view it is nevertheless interesting: An XML parser that tries to fix structural errors in a document caused a DoS problem.
All previous posts of this series focused on XSS. This time, we present a vulnerability which is connected another Cloud Management Platform: OpenNebula. This Infrastructure-as-a-Service platform started as a research project in 2005. It is used by information technology companies like IBM, Dell and Akamai as well as academic institutions and the European Space Administrations (ESA). By relying on standard Linux tools as far as possible, OpenNebula reaches a high level of customizability and flexibility in hypervisors, storage systems, and network infrastructures. OpenNebula is distributed using the Apache-2 license.
OpenNebula offers a broad variety of interfaces to control a cloud. This post focuses on Sunstone, OpenNebula's web interface (see Figure 1).
Before OpenNebula 4.6.2, Sunstone had no Cross-Site Request Forgery (CSRF) protection. This is a severe problem. Consider an attacker who lures a victim into clicking on a malicious link while being logged in at a private cloud. This enables the attacker to send arbitrary requests to the private cloud through the victims browser. However, we could find other bugs in OpenNebula that allowed us to perform much more sophisticated attacks.
OpenNebula saves the incorrectly generated XML document in a database. The next time the OpenNebula core retrieves information about that particular VM from the database the XML parser is mixed up and runs into an error because it only expects a string as name, not an XML tree. As a result, Sunstone cannot be used to control the VM anymore. The Denial-of-Service attack can only be reverted from the command line interface of OpenNebula.
This bug can be triggered by a CSRF-attack, which means that it is a valid attack against a private cloud: By luring a victim onto a maliciously crafted website while logged in into Sunstone, an attacker can make all the victim's VMs uncontrollable via Sunstone. A video of the attack can be seen here:
This bug has been fixed in OpenNebula 4.6.2.
This result is a collaborative work together with Mario Heiderich. It has been published at ACM CCSW 2015. The paper can be found here.
More informationAll previous posts of this series focused on XSS. This time, we present a vulnerability which is connected another Cloud Management Platform: OpenNebula. This Infrastructure-as-a-Service platform started as a research project in 2005. It is used by information technology companies like IBM, Dell and Akamai as well as academic institutions and the European Space Administrations (ESA). By relying on standard Linux tools as far as possible, OpenNebula reaches a high level of customizability and flexibility in hypervisors, storage systems, and network infrastructures. OpenNebula is distributed using the Apache-2 license.
OpenNebula offers a broad variety of interfaces to control a cloud. This post focuses on Sunstone, OpenNebula's web interface (see Figure 1).
Figure 1: OpenNebula's Sunstone Interface displaying a VM's control interface |
Before OpenNebula 4.6.2, Sunstone had no Cross-Site Request Forgery (CSRF) protection. This is a severe problem. Consider an attacker who lures a victim into clicking on a malicious link while being logged in at a private cloud. This enables the attacker to send arbitrary requests to the private cloud through the victims browser. However, we could find other bugs in OpenNebula that allowed us to perform much more sophisticated attacks.
Denial-of-Service on OpenNebula-VM
At its backend, OpenNebula manages VMs with XML documents. A sample for such an XML document looks like this:<VM>OpenNebula 4.6.1 contains a bug in the sanitization of input for these XML documents: Whenever a VM's name contains an opening XML tag (but no corresponding closing one), an XML generator at the backend automatically inserts the corresponding closing tag to ensure well-formedness of the resulting document. However, the generator outputs an XML document that does not comply with the XML schema OpenNebula expects. The listing below shows the structure that is created after renaming the VM to 'My <x> VM':
<ID>0</ID>
<NAME>My VM</NAME>
<PERMISSIONS>...</PERMISSIONS>
<MEMORY>512</MEMORY>
<CPU>1</CPU>
...
</VM>
<VM>The generator closes the <x> tag, but not the <NAME> tag. At the end of the document, the generator closes all opened tags including <NAME>.
<ID>0</ID>
<NAME>My <x> VM</x>
<PERMISSIONS>...</PERMISSIONS>
<MEMORY>512</MEMORY>
<CPU>1</CPU>
...
</NAME>
</VM>
OpenNebula saves the incorrectly generated XML document in a database. The next time the OpenNebula core retrieves information about that particular VM from the database the XML parser is mixed up and runs into an error because it only expects a string as name, not an XML tree. As a result, Sunstone cannot be used to control the VM anymore. The Denial-of-Service attack can only be reverted from the command line interface of OpenNebula.
This bug can be triggered by a CSRF-attack, which means that it is a valid attack against a private cloud: By luring a victim onto a maliciously crafted website while logged in into Sunstone, an attacker can make all the victim's VMs uncontrollable via Sunstone. A video of the attack can be seen here:
This bug has been fixed in OpenNebula 4.6.2.
This result is a collaborative work together with Mario Heiderich. It has been published at ACM CCSW 2015. The paper can be found here.
- Pentest Tools Apk
- How To Hack
- Pentest Tools Windows
- Hacking Tools Mac
- Hacker Tools 2020
- How To Install Pentest Tools In Ubuntu
- Hacker Tools Free
- Hacking Tools Usb
- Top Pentest Tools
- New Hacker Tools
- Hacking Tools Free Download
- Pentest Tools List
- Pentest Tools Github
- Pentest Tools Find Subdomains
- Hacker Tools 2019
- Hacking Tools Software
- Pentest Tools List
- Free Pentest Tools For Windows
- Install Pentest Tools Ubuntu
- Install Pentest Tools Ubuntu
- Hacking Tools For Pc
- Install Pentest Tools Ubuntu
- Ethical Hacker Tools
- Usb Pentest Tools
- Hacker Search Tools
- Pentest Tools Download
- Hacking Tools Hardware
- Nsa Hack Tools
- Wifi Hacker Tools For Windows
- Pentest Tools
- Pentest Automation Tools
- Hack Tools Pc
- Hacking Tools Online
- Easy Hack Tools
- Best Hacking Tools 2019
- How To Make Hacking Tools
- Pentest Recon Tools
- Hack Website Online Tool
- Pentest Automation Tools
- Pentest Tools Online
- Hacking Tools For Pc
- Hacker Tools Github
- Growth Hacker Tools
- Best Pentesting Tools 2018
- Computer Hacker
- Pentest Tools For Android
- Hacking Tools And Software
- Hacking Tools Windows
- Hacker Tools Free
- Tools Used For Hacking
- Hacker Tools Online
- Hack Tools Mac
- Hacks And Tools
- Best Hacking Tools 2019
- Hacker Tools Free
- Hacking Tools Usb
- Hack Tools For Games
- Black Hat Hacker Tools
- Hacking Tools For Beginners
- New Hack Tools
- Easy Hack Tools
- Physical Pentest Tools
- Nsa Hacker Tools
- Tools 4 Hack
- Beginner Hacker Tools
- Hacking Tools For Windows
- How To Make Hacking Tools
- Underground Hacker Sites
- Hack Tools For Windows
- Hacking Tools 2020
- Hacker Tools Linux
- Android Hack Tools Github
- Hack Tools Mac
- Pentest Tools Android
- Hack Tools Github
- Growth Hacker Tools
- Hacking Tools
- Pentest Tools Windows
- Github Hacking Tools
- What Is Hacking Tools
- Physical Pentest Tools
- Hacker Tools 2019
- Hack Tools For Games
- Hacking Tools For Windows Free Download
- Hacks And Tools
- Hacker Tools Free
- Hackrf Tools
- Hacker Tools Mac
- Hacking Tools Free Download
- How To Make Hacking Tools
- Hacking Tools 2019
- Hack Website Online Tool
- Hack Rom Tools
- Free Pentest Tools For Windows
- Ethical Hacker Tools
- Hack Tools
- Easy Hack Tools
- Hacker
- Pentest Tools Website Vulnerability
- Bluetooth Hacking Tools Kali
- Pentest Tools Kali Linux
- Hack Website Online Tool
- Hak5 Tools
- Hacker Tools For Mac
- Tools For Hacker
- Pentest Box Tools Download
- Computer Hacker
- Hack Tools 2019
- Pentest Box Tools Download
- Pentest Tools List
- What Is Hacking Tools
- How To Hack
- Hacker Tools For Ios
- Tools For Hacker
- Tools For Hacker
- What Are Hacking Tools
- Hacker Tools For Mac
- Hacking Tools Windows
- Hacking Tools Windows
- Hack App
- Hack Rom Tools
- Pentest Tools Nmap
- Hacking Tools For Pc
- What Is Hacking Tools
- Hack Tools Mac
- Pentest Tools Url Fuzzer
- Pentest Tools
- Pentest Tools Nmap
- Best Pentesting Tools 2018
- Hacking Tools 2020
- Hak5 Tools
- New Hack Tools
- Hacking Tools For Beginners
- Pentest Tools For Windows
- Nsa Hacker Tools
- Hacker Search Tools
- Pentest Automation Tools
- Tools Used For Hacking
- Pentest Tools List
- Pentest Tools Download
- Hackers Toolbox
- Hacker Tools Mac
- Hacking Tools Download
- Black Hat Hacker Tools
- Hack Tools For Games
- Ethical Hacker Tools
- Hacking Tools Name
- Pentest Tools Online
- Hacker Tools List
- Pentest Tools Apk
- Pentest Tools Windows
- Pentest Automation Tools
- What Are Hacking Tools
- Pentest Tools Bluekeep
- Nsa Hack Tools Download
- Usb Pentest Tools
0 comentarios:
Publicar un comentario