Share
## https://sploitus.com/exploit?id=CF51C38E-52F7-5CB5-9ACE-2BCD8F86C0BE
# CVE Research

Notes and code from going through public CVEs that caught my attention. Each folder has a writeup of how the bug actually worked, a detection script, and a PoC you can run in a lab to see it for yourself.

**Author**: Phinehas Narh (GitHub: PhinehasNarh)

Everything here is based on public disclosures. The PoC code targets isolated lab environments only.

---

## What's here

| CVE | CVSS | Area | Short version |
|-----|------|------|---------------|
| [CVE-2024-3094](./CVE-2024-3094/) | 10.0 | Supply chain | XZ Utils backdoor - two years of fake maintainer work, then an SSH backdoor hidden in release tarballs |
| [CVE-2025-30066](./CVE-2025-30066/) | 8.6 | CI/CD | tj-actions/changed-files got its git tags poisoned, dumped secrets from 23k repos' CI runners |
| [CVE-2025-68664](./CVE-2025-68664/) | 9.3 | AI/LLM | LangChain would deserialize user-controlled dicts as real objects if they had the right key, including reading env vars |

---

## Why these three

I picked them because they all exploit the same basic thing: something in your pipeline that you trust without really verifying it.

XZ was a dependency you'd never think about. tj-actions was an action you pinned by tag (mutable). LangChain trusted the `lc` key in data coming from an LLM response (also untrusted). Three different contexts, same category of mistake.

---

## Running the scripts

Each folder is self-contained:

```bash
cd CVE-YYYY-XXXXX
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python detect.py   # or exploit.py / simulate_*.py
```

None of the scripts call out to external infrastructure.