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.
Related linksAll 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.
- Hacking Tools And Software
- Hacker Tools Apk Download
- Computer Hacker
- Hacker Security Tools
- Hacker Tools Free Download
- Hacker Tools Windows
- Hack Tool Apk No Root
- Hacking Tools Pc
- Hacking Tools And Software
- Pentest Tools Apk
- Hacking Tools Download
- What Are Hacking Tools
- Hacking Tools Software
- Hack Tools
- Usb Pentest Tools
- Usb Pentest Tools
- Hacker Tools Mac
- Pentest Tools Framework
- Hacking Tools For Kali Linux
- Best Hacking Tools 2019
- Ethical Hacker Tools
- Hak5 Tools
- Pentest Tools Tcp Port Scanner
- Pentest Tools Port Scanner
- Pentest Tools For Windows
- Hacking Tools
- Pentest Tools Online
- Hacking Tools For Beginners
- Hacking Apps
- Free Pentest Tools For Windows
- Hacking Tools Pc
- Best Hacking Tools 2019
- Hacks And Tools
- New Hacker Tools
- Hacking Tools For Windows 7
- How To Install Pentest Tools In Ubuntu
- Hack Tools For Games
- Nsa Hack Tools
- Pentest Tools For Ubuntu
- Hacking Tools For Windows Free Download
- What Are Hacking Tools
- Best Hacking Tools 2019
- Kik Hack Tools
- Pentest Tools Online
- Hacker Hardware Tools
- Hacking Tools 2019
- Pentest Tools Website
- Hacking Tools For Games
- Hacking Tools For Games
- Black Hat Hacker Tools
- Hacking Tools And Software
- Hack Tools Online
- Bluetooth Hacking Tools Kali
- Hacking Tools Free Download
- Hacker Tools Windows
- Hacking Tools Download
- Pentest Tools Linux
- Hacking Tools Software
- Hack Tools Github
- Hackrf Tools
- Hacking Tools And Software
- Hacker Tools For Ios
- Hacker Tools Apk
- Nsa Hacker Tools
- Hackrf Tools
- Hack Tools For Games
- Hacker Hardware Tools
- Pentest Tools Website Vulnerability
- Growth Hacker Tools
- Pentest Tools Free
- Hacker Security Tools
- Pentest Tools
- Tools Used For Hacking
- Hacking Tools Pc
- Hacking Tools For Kali Linux
- How To Install Pentest Tools In Ubuntu
- Pentest Tools
- Hacking Tools Name
- Growth Hacker Tools
- Pentest Tools Linux
- Pentest Tools Free
- Pentest Tools Framework
- Computer Hacker
- Pentest Tools List
- Hacker Techniques Tools And Incident Handling
- Nsa Hack Tools Download
- Pentest Tools For Ubuntu
- Usb Pentest Tools
- Hacker Security Tools
- Pentest Tools Website
- Hacking Tools Mac
- World No 1 Hacker Software
- Hacker Tools Hardware
- Pentest Tools For Android
- Hacker Tools 2019
- Hacking Tools Kit
- Nsa Hack Tools
- Hack Tools For Ubuntu
- Hacking Tools
- Hacker Hardware Tools
- Pentest Tools Framework
- Hack Tools For Pc
- Hack Tools For Windows
- Hacking Tools Usb
- Hacker Tools Linux
- Hacker Tools For Mac
- Hacker Tools For Ios
- Pentest Tools Nmap
- Hacking Tools Online
- Physical Pentest Tools
- Hacker Tools For Mac
- Hacker Tools For Ios
- Pentest Box Tools Download
- Hacker Tool Kit
- Easy Hack Tools
- Hack Tools
- Pentest Reporting Tools
- Pentest Tools Nmap
- Hack Rom Tools
- How To Install Pentest Tools In Ubuntu
- Hack Tool Apk
- Pentest Tools Url Fuzzer
No comments:
Post a Comment