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.
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).
![]() |
| 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.
Read more
- Hacker Tools Windows
- Pentest Tools Free
- Hacking Tools Software
- Hack Tools For Ubuntu
- Hacking Tools And Software
- Pentest Tools For Mac
- What Is Hacking Tools
- Hacking Tools For Games
- Computer Hacker
- Hacking Tools Windows 10
- Pentest Tools
- Usb Pentest Tools
- Free Pentest Tools For Windows
- Bluetooth Hacking Tools Kali
- Pentest Tools Linux
- Hacker Tools Hardware
- Hacking Tools Pc
- Hack Tools Pc
- Hack Tools Pc
- Hacker Tools 2020
- Hacker Tools Linux
- How To Hack
- Hack Rom Tools
- Hacking App
- Pentest Tools Url Fuzzer
- Hack Tools Mac
- Hack Tools Mac
- Pentest Recon Tools
- Github Hacking Tools
- Pentest Tools For Ubuntu
- Hacker
- Hack Tools
- Hacker Tools Windows
- Pentest Recon Tools
- Best Hacking Tools 2019
- Hacking Tools Pc
- Hacker Security Tools
- Hacking Tools Software
- Hacking Tools For Pc
- Hacker Tools Linux
- Pentest Tools Alternative
- Pentest Tools Github
- Hacker Security Tools
- Pentest Tools Website
- Hack Tool Apk
- Tools Used For Hacking
- Tools Used For Hacking
- Hacking Tools Usb
- Beginner Hacker Tools
- Pentest Tools Android
- Pentest Tools Alternative
- Pentest Tools Nmap
- Pentest Reporting Tools
- Pentest Tools Open Source
- Hacking Tools For Windows 7
- Hacker Tools 2019
- Best Hacking Tools 2020
- Hacker Techniques Tools And Incident Handling
- Hack Tools For Games
- Pentest Tools For Mac
- Beginner Hacker Tools
- Computer Hacker
- Pentest Tools Apk
- Hack Tools Pc
- Hacking Tools Software
- Github Hacking Tools
- Hack Tools For Mac
- Black Hat Hacker Tools
- Install Pentest Tools Ubuntu
- Hacker Tools Free
- Pentest Tools Website
- Hacking Tools Github
- Best Pentesting Tools 2018
- Hacker Tools Hardware
- Hack Tools Pc
- Hack Tools Mac
- Hacker
- Hacker Tools Mac
- What Is Hacking Tools
- Hacking Tools Hardware
- Ethical Hacker Tools
- Hack Tools
- Hacker Tool Kit
- Hacking Tools For Kali Linux
- Pentest Tools Android
- Hacker Tools 2020
- Hacking Tools Windows
- Hacking Tools Github
- Hacker Tools Apk
- Easy Hack Tools
- Hack Website Online Tool
- Hacker
- Hackrf Tools
- Hacker Tools Free Download
- Pentest Tools For Mac
- Nsa Hack Tools Download
- Hacker Tools Hardware
- Pentest Reporting Tools
- Hak5 Tools
- Hacking Tools Hardware
- Pentest Tools Kali Linux
- Underground Hacker Sites
- Best Pentesting Tools 2018
- Blackhat Hacker Tools
- Pentest Tools Alternative
- Hacking App
- Hacker Tools List
- Android Hack Tools Github
- Pentest Tools For Android
- Hacking Tools Github
- Hacking Tools Windows 10
- Pentest Tools List
- Hack Tools For Windows
- Hacker Tools Apk
- How To Make Hacking Tools
- Pentest Tools Apk
- Install Pentest Tools Ubuntu
- Pentest Tools Windows
- Game Hacking
- Hacker Tools Apk
- Hacker Tools Online
- Hacking Tools For Windows Free Download
- Pentest Tools List
- Beginner Hacker Tools
- Hacking Tools For Mac
- Pentest Tools Open Source
- Hacker Search Tools
- Hacker Tools For Ios
- Hacker Tools For Pc
- Hack Tools
- Hack Tools For Mac
- Hacking Tools For Beginners
- Hacker Tools List
- Android Hack Tools Github
- Hacking Tools Kit
- Pentest Tools Linux
- How To Install Pentest Tools In Ubuntu
- Hacker Tools Windows
- Underground Hacker Sites
- Blackhat Hacker Tools
- Pentest Tools Linux
- Hacking Tools For Beginners
- Hacker Tools Online
- Hacker Tools Free Download
- Tools Used For Hacking
- Pentest Tools For Mac
- Pentest Tools For Mac
- Pentest Tools For Windows
- Nsa Hack Tools Download
- Hack Tools Online
- Hak5 Tools
- Hacker Security Tools

No comments:
Post a Comment