## 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.