
Chrome WebGPU Use-After-Free (CWE-416) This toolkit is for security research and defensive verification around CVE-2026-5281. Patched Chrome version: 146.0.7680.178 Potentially vulnerable versions: anything below 146.0.7680.178
Chrome WebGPU Use-After-Free (CWE-416)
This toolkit is for security research and defensive verification around CVE-2026-5281. Patched Chrome version: 146.0.7680.178 Potentially vulnerable versions: anything below 146.0.7680.178
From this folder:
cd CVE-2026-5281
Show help:
python cve_2026_5281_scanner.py --help
python cve_2026_5281_scanner.py --local
JSON output version:
python cve_2026_5281_scanner.py --local --json
What you will see:
Run:
python cve_2026_5281_scanner.py --fleet ".\sample_fleet.csv"
CSV format required:
host,product,version
PC-01,Google Chrome,146.0.7680.165
PC-02,Google Chrome,146.0.7680.200
JSON output version:
python cve_2026_5281_scanner.py --fleet ".\sample_fleet.csv" --json
Single file:
python cve_2026_5281_scanner.py --triage ".\sample.log"
Folder scan:
python cve_2026_5281_scanner.py --triage "C:\path\to\logs"
Show help:
python cve_2026_5281_exploit.py --help
Generate all PoC artifacts into a test folder:
python cve_2026_5281_exploit.py --generate-all --output ".\_poc_output"
Generate only one type of artifact:
python cve_2026_5281_exploit.py --html-payload --output ".\_poc_output"
python cve_2026_5281_exploit.py --detection-script --output ".\_poc_output"
python cve_2026_5281_exploit.py --server-config --output ".\_poc_output"
python cve_2026_5281_exploit.py --staged-payload --output ".\_poc_output"
python cve_2026_5281_scanner.py --local --json
If vulnerable, upgrade Chrome to 146.0.7680.178 or newer.
Re-run scanner to confirm patched state.
Use this section to produce reproducible evidence that your verification is complete and defensible.
python cve_2026_5281_exploit.py --generate-all --output ".\poc_fixed"
python -m http.server 8080 -d ".\poc_fixed"
Run the automated browser test and save structured output:
python cve_2026_5281_automated_test.py --url "http://localhost:8080/exploit.html" --timeout 20 --out-json ".\evidence\vulnerable_run.json"
Also save console output into a text log for the scanner assessment:
python cve_2026_5281_automated_test.py --url "http://localhost:8080/exploit.html" --timeout 20 *> ".\evidence\vulnerable_run.log"
After upgrading browser, repeat and save outputs:
python cve_2026_5281_automated_test.py --url "http://localhost:8080/exploit.html" --timeout 20 --out-json ".\evidence\patched_run.json"
python cve_2026_5281_automated_test.py --url "http://localhost:8080/exploit.html" --timeout 20 *> ".\evidence\patched_run.log"
python cve_2026_5281_scanner.py --assess-claim --vuln-log ".\evidence\vulnerable_run.log" --patched-log ".\evidence\patched_run.log" --vuln-version "146.0.7680.165" --patched-version "146.0.7680.178" --json
Expected assessment behavior:
--local --json.\evidence\vulnerable_run.json).\evidence\patched_run.json).log files)Use only on systems and environments you own or are explicitly authorized to test.