
PoC Python per CVE-2026-100740, una scrittura out-of-bounds nell'AVP Host Name di L2TP in D-Link DIR-895L A1_102b07 tunnel_set_params. Esegue il fingerprinting del dispositivo e invia opzionalmente un trigger UDP 1701 solo per laboratorio.
PoC in Python 3 per CVE-2026-100740 — firmware A1_102b07 di D-Link DIR-895L.
CVE-2026-100740 — scrittura out-of-bounds (CWE-787 / CWE-119) in tunnel_set_params() (tunnel.c), parser del canale di controllo L2TP. La lunghezza dell'AVP Host Name viene limitata a 127 ma il terminatore NUL viene scritto in peer_hostname[len+1] su un buffer di 128 byte → corruzione di memoria di un byte (e adiacente). L'attacco è remoto su UDP 1701 quando il dispositivo partecipa a L2TP (spesso client WAN verso server L2TP dell'ISP; peer malevolo upstream/spoofed). Interessati: solo DIR-895L A1_102b07 (secondo VulDB). Exploit pubblico referenziato; nessuna correzione del vendor elencata in NVD al momento della pubblicazione.
Ricerca: Notion — DIR-895L L2TP Host Name AVP (stessa classe di bug del write-up del DIR-822A).
Pagina PoC: https://pocbit.org/pocs/cve-2026-100740
Catalogo: https://pocbit.org/pocs/
| Vendor / modello | D-Link DIR-895L |
| Firmware | A1_102b07 |
| Componente | Parser di controllo L2TP / tunnel.c |
| Vettore | Host Name AVP craftato (len 127) |
| Porta | UDP 1701 |
| CVSS 4.0 | VulDB PR:L, rete, impatto elevato |
Questo PoC identifica il router (HTTP), verifica UDP 1701, opzionalmente invia un trigger SCCRQ solo per laboratorio (--oob-send). Non include una catena RCE completa.
pip install -r requirements.txt
python poc.py -u 192.168.0.1 --mode check
python poc.py -u 192.168.0.1 --mode check --l2tp-probe
python poc.py -u 192.168.0.1 --mode exploit --oob-send
python poc.py --list targets.example.txt --mode check -j 20
CVE-2026-100740 PoC: D-Link DIR-895L A1_102b07 L2TP Host Name AVP out-of-bounds write (tunnel_set_params). Detects device, UDP 1701, optional OOB trigger packet. PoCbit
CVE-2026-100740: DIR-895L A1_102b07 L2TP parser’da Host Name AVP ile OOB write; uzaktan UDP 1701. PoC: tespit + lab’de --oob-send.
Solo test autorizzati. --oob-send può mandare in crash il router.