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.
Related articles
- Hacker Tools
- Pentest Tools For Windows
- Hacker Tools Online
- Hacker Tools Linux
- Hacker Search Tools
- Install Pentest Tools Ubuntu
- Hacker Techniques Tools And Incident Handling
- Hacker Tools Free Download
- Pentest Tools Website Vulnerability
- Hacker Security Tools
- Pentest Recon Tools
- How To Make Hacking Tools
- Pentest Recon Tools
- Hacking Tools
- Tools Used For Hacking
- Computer Hacker
- Hacking Tools Usb
- What Are Hacking Tools
- Hacking Tools Hardware
- Usb Pentest Tools
- What Is Hacking Tools
- Hacking Tools For Windows Free Download
- Hacking Tools Pc
- Hacking Tools Download
- Hacking Tools Software
- Hacking Tools For Windows Free Download
- Hacking Tools For Games
- Hack Apps
- Hacker Tools Free Download
- Pentest Recon Tools
- Pentest Box Tools Download
- Pentest Automation Tools
- Bluetooth Hacking Tools Kali
- Pentest Tools Tcp Port Scanner
- Pentest Tools Website Vulnerability
- Pentest Tools Framework
- Hacking Tools For Windows
- Top Pentest Tools
- Pentest Tools Bluekeep
- Hacking Tools For Windows 7
- Underground Hacker Sites
- Hack Apps
- Beginner Hacker Tools
- Hacking Tools
- Pentest Box Tools Download
- Hacker Tools For Pc
- Termux Hacking Tools 2019
- Hacking Tools Software
- Hack Tools Mac
- Hackers Toolbox
- Pentest Tools For Windows
- Nsa Hack Tools Download
- Hacking App
- Hacking Tools Pc
- Hacking Tools For Windows 7
- Hacking Apps
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Apk
- Hak5 Tools
- Ethical Hacker Tools
- Hacking Tools For Kali Linux
- Pentest Tools Kali Linux
- Best Pentesting Tools 2018
- Pentest Tools For Android
- Hacking Tools Name
- Hacker Tools Github
- Pentest Recon Tools
- Pentest Tools Framework
- Pentest Tools Github
- Hacker Techniques Tools And Incident Handling
- Hacking Tools Software
- Pentest Tools Port Scanner
- Hacking Tools Pc
- Hacker Tools Apk Download
- Hacking Tools Kit
- Hacking Tools 2020
- Hacking Tools Download
- Pentest Tools Android
- Hack Rom Tools
- Best Hacking Tools 2020
- Pentest Tools For Ubuntu
- Hack Tools Github
- New Hack Tools
- Hack And Tools
- Hacker Tools Software
- Hacking Tools Mac
- Free Pentest Tools For Windows
- Hacker Tools Apk Download
- Hacking Tools For Kali Linux
- Best Hacking Tools 2019
- Pentest Tools Download
- Hack Tools For Ubuntu
- Hacker Tools For Windows
- Hacker Tools For Mac
- Hacking App
- Pentest Tools Free
- Hacker Tools For Windows
- Hack Tools Online
- Pentest Tools Windows
- Hacker Tools For Pc
- Hack Tools Pc
- Hacker Search Tools
- Hack Website Online Tool
- Hacking Tools Download
- Hacking Tools Free Download
- Hack Tool Apk
- Hacker Tools Online
- Hackrf Tools
- Pentest Tools Subdomain
- Hacker Tool Kit
- Hacking Tools For Windows 7
- Hacking Tools Usb
- Hacking Tools Hardware
- What Are Hacking Tools
- Best Pentesting Tools 2018
- Pentest Tools Download
- Hacker Tools Windows
- Kik Hack Tools
- Pentest Tools
- Hacker Tools Free
- Hacker Tools For Ios
- New Hacker Tools
- Hack Tools For Games
- How To Install Pentest Tools In Ubuntu
- Hacker Tool Kit
- Pentest Tools Kali Linux
- Pentest Tools Free
- Hack Website Online Tool
- Hack Tools Github
- Pentest Tools For Android
- Hacker Tools Linux
- Pentest Tools Tcp Port Scanner
- New Hacker Tools
- What Are Hacking Tools
- Pentest Box Tools Download
- Pentest Reporting Tools
- Hacking Tools Hardware
- Hacking App
- Hacking Tools For Windows
- Hack Tool Apk
- What Are Hacking Tools
- New Hack Tools
- Free Pentest Tools For Windows
- Pentest Tools For Mac
- Hack Tools Download
- Hacking Tools Windows 10
- Hacking Tools Online
- Pentest Tools For Mac
- Pentest Tools Apk
- Kik Hack Tools
- Hacker Tools
- Hacker Tools Online
- Hacking Tools Pc
- Hacking Tools Kit
- Hack Tools
- Hack Rom Tools
- Hacking Tools For Mac
- Hack Tool Apk No Root
- Pentest Tools List
- Free Pentest Tools For Windows
- Hack Tools Online
- Game Hacking
- Pentest Tools For Mac
- Hacker Tools List
- Hacker Tools For Pc
- Pentest Tools Free
- Hack Website Online Tool
- Easy Hack Tools
- Pentest Tools Website
- Pentest Tools Apk
- Hacker Tools For Mac
- Pentest Tools
- Hacker Search Tools
- Hack Tools
- Github Hacking Tools
- Github Hacking Tools
- Underground Hacker Sites
