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

Goal: 1000 CNY · Raised: 1310 CNY

100%

CVE-2024-9014 PoC — OAuth2 client id and secret exposed through the web browser in pgAdmin 4

Source
Associated Vulnerability
Title:OAuth2 client id and secret exposed through the web browser in pgAdmin 4 (CVE-2024-9014)
Description:pgAdmin versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. This vulnerability allows an attacker to potentially obtain the client ID and secret, leading to unauthorized access to user data.
Readme
# CVE-2024-9014 - pgAdmin 4 OAuth2 Authentication Bypass Exploit Tools

This repository contains tools to check for and exploit the **CVE-2024-9014** vulnerability in **pgAdmin 4**. The vulnerability allows an attacker to bypass OAuth2 authentication and access sensitive resources.

## Tools

### 1. **cve_2024_9014_check.py**

This script checks if a target system is vulnerable to **CVE-2024-9014** by examining its **pgAdmin 4** installation and looking for exposed OAuth2 configurations.

#### Usage

```bash
python3 cve_2024_9014_check.py --url <target_url> [--proxy <proxy_url>] [--output <output_file>]
```

- --url: Single target URL to check (e.g.,  http://example.com/).

- --list: File containing a list of target URLs -(one per line).

- --output: File to save the results.

- --proxy: Optional proxy (e.g., http://127.0.0.

#### Example
```bash
python3 cve_2024_9014_check.py --url <target_url> --proxy http://127.0.0.1:8080 --output results.txt
```
The script will check if the target is running pgAdmin 4 and whether it is vulnerable. Vulnerable targets will have exposed OAuth2 configuration.

#### Output

![1](https://github.com/user-attachments/assets/2df1a3d9-e8fb-40ad-a939-0ef2eefd77aa)

---

### 2. extract_oauth2_config.py

This script extracts the OAuth2 configuration from a pgAdmin 4 installation. It helps identify whether sensitive OAuth2 credentials are exposed in the HTML source.
```bash
python3 extract_oauth2_config.py -u <target_url> [--proxy <proxy_url>] [--output <output_file>]
```

The script will save the extracted OAuth2 configuration for vulnerable targets in a specified output file.

### Output

![2](https://github.com/user-attachments/assets/6ec42440-a39f-4b2a-8299-bc3f71828e1f)

---

## Requirements

- Python 3.x
- requests library (pip install requests)

## ⚠️  Disclaimer

This script is intended for authorized security testing and educational purposes only. Ensure you have permission to test the systems you're targeting. Unauthorized access or exploitation of systems is illegal.

## License

This project is licensed under the MIT License - see the LICENSE file for details.

---

## Official Channels

- [YouTube @rootctf](https://www.youtube.com/@rootctf)
- [X @r0otk3r](https://x.com/r0otk3r)
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 →