Share
## https://sploitus.com/exploit?id=BA784FB7-16CB-59E4-A360-285C35E3A1C9
# CVE-2025-44964 โ€” BlueStacks v5.20 Improper SSL Certificate Validation

> **Severity:** LOW (CVSS 3.9)  
> **CWE:** CWE-295 โ€” Improper Certificate Validation  
> **Affected:** BlueStacks v5.20  
> **Published:** 2025-08-05  

---

## Overview

A lack of SSL/TLS certificate validation in **BlueStacks v5.20** allows an adjacent
network attacker to perform a Man-in-the-Middle (MITM) attack against the emulator's
backend API communications, potentially disclosing or tampering with sensitive data.

Because BlueStacks accepts any certificate presented by a server โ€” including self-signed
or forged ones โ€” an attacker already positioned on the same local network can silently
intercept and modify HTTPS traffic between the emulator and its cloud services.

---

## Technical Details

| Field | Value |
|---|---|
| CVE ID | CVE-2025-44964 |
| CVSS v3.1 Score | **3.9** (LOW) |
| CVSS Vector | `CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L` |
| Attack Vector | Adjacent Network |
| Attack Complexity | High |
| Privileges Required | High |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | Low |
| Integrity | Low |
| Availability | Low |
| EPSS | ~2.5 % |
| CWE | CWE-295 |
| NVD Published | 2025-08-05 |

### Root Cause

BlueStacks v5.20 communicates with its backend API over HTTPS but does **not** verify
the server's X.509 certificate chain or hostname. Relevant failure points:

1. **No chain-of-trust validation** โ€” the certificate is not checked against a trusted CA store.
2. **No hostname verification** โ€” the CN/SAN of the presented certificate is not matched
   against the requested hostname.
3. **Silent acceptance** โ€” invalid certificates trigger no error or fallback; the
   connection proceeds normally.

This is the classic pattern of a developer disabling SSL verification (e.g. passing
`verify=False` in Python's `requests`, or using `TrustAllCerts` in Java) to work around
development friction and then shipping it to production.

### Attack Flow

```
[BlueStacks v5.20]  โ”€โ”€HTTPSโ”€โ”€โ–บ  [Attacker MITM Proxy]  โ”€โ”€HTTPSโ”€โ”€โ–บ  [BlueStacks API]
        โ”‚                               โ”‚
        โ”‚  (accepts forged cert)        โ”‚  (terminates TLS, reads / modifies plaintext)
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

1. Attacker positions themselves on the same LAN segment as the victim (or on an upstream
   router they control).
2. ARP spoofing (or DNS poisoning) redirects BlueStacks' outbound HTTPS traffic to the
   attacker's host.
3. Attacker's MITM proxy presents a self-signed certificate.
4. BlueStacks accepts it without complaint.
5. All API traffic (session tokens, device info, update payloads, etc.) is exposed in
   plaintext to the attacker.

---

## Repository Structure

```
CVE-2025-44964/
โ”œโ”€โ”€ README.md                  โ† This file
โ”œโ”€โ”€ requirements.txt           โ† Python dependencies
โ”œโ”€โ”€ poc/
โ”‚   โ”œโ”€โ”€ poc.py                 โ† Main PoC launcher
โ”‚   โ”œโ”€โ”€ mitm_proxy.py          โ† SSL MITM proxy server
โ”‚   โ”œโ”€โ”€ cert_gen.py            โ† Self-signed certificate generator
โ”‚   โ””โ”€โ”€ arp_spoof.py           โ† ARP spoofing module (network redirect)
โ”œโ”€โ”€ detection/
โ”‚   โ””โ”€โ”€ check_ssl_validation.py โ† Tests whether a target validates SSL
โ”œโ”€โ”€ mitigation/
โ”‚   โ””โ”€โ”€ mitigation.md          โ† Detailed mitigation guidance
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ technical_analysis.md  โ† In-depth technical write-up
โ”‚   โ””โ”€โ”€ timeline.md            โ† Disclosure timeline
โ””โ”€โ”€ docker/
    โ”œโ”€โ”€ Dockerfile             โ† Isolated lab environment
    โ””โ”€โ”€ docker-compose.yml     โ† Full lab stack
```

---

## Quick Start

### Prerequisites

```bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```

> Root privileges are required for ARP spoofing (raw socket access).

### Run the PoC (local lab)

```bash
# Terminal 1 โ€” start the MITM proxy
sudo python3 poc/poc.py --mode proxy --listen-port 8443 --cert-dir certs/

# Terminal 2 โ€” start ARP spoofing (LAN scenario)
sudo python3 poc/arp_spoof.py --target  --gateway  --iface eth0

# Terminal 3 โ€” watch intercepted traffic
tail -f mitm_traffic.log
```

### Detection Only (no spoofing required)

```bash
python3 detection/check_ssl_validation.py --target  --port 443
```

---

## Proof of Concept Output

A successful attack yields output similar to:

```
[*] MITM Proxy listening on 0.0.0.0:8443
[*] ARP spoof active: 192.168.1.50 โ†’ 192.168.1.1
[+] Connection intercepted from 192.168.1.50:54321
[+] Target accepted forged certificate (CN=*.bluestacks.com)
[+] Intercepted request:
    POST /api/v2/session/auth HTTP/1.1
    Host: api.bluestacks.com
    Authorization: Bearer eyJhbGci...
    Content-Type: application/json

    {"device_id": "...", "version": "5.20.0.1054", ...}

[+] Intercepted response (200 OK):
    {"session_token": "...", "user_id": "...", ...}
```

---

## Impact

| Scenario | Impact |
|---|---|
| Session token theft | Account takeover |
| API response tampering | Malicious update injection, feature flag manipulation |
| Device fingerprint leakage | User tracking / de-anonymisation |
| Credential interception | Depends on specific API calls made |

---

## Affected Versions & Patch Status

| Version | Status |
|---|---|
| โ‰ค 5.20 | **Vulnerable** |
| > 5.20 (all supported) | Patched โ€” proper certificate validation enforced |

---

## Mitigation

See [`mitigation/mitigation.md`](mitigation/mitigation.md) for full guidance.

**Short version:**
- Update BlueStacks to the latest available version immediately.
- As a network-level compensating control, enforce network segmentation so guest/untrusted
  devices cannot perform ARP spoofing against BlueStacks hosts.
- Monitor for unexpected ARP cache changes on managed networks.

---

## References

- [NVD โ€” CVE-2025-44964](https://nvd.nist.gov/vuln/detail/CVE-2025-44964)
- [BlueStacks Security Advisory](https://support.bluestacks.com/hc/en-us/articles/39010129797261)
- [GitHub Advisory GHSA-pqpc-hhgr-p436](https://github.com/advisories/GHSA-pqpc-hhgr-p436)
- [CWE-295: Improper Certificate Validation](https://cwe.mitre.org/data/definitions/295.html)

---

## Disclaimer

This repository is published for **educational and security research purposes only**.
The code demonstrates the vulnerability in controlled lab environments. Use only against
systems you own or have explicit written permission to test. Unauthorised interception of
network traffic is illegal in most jurisdictions.