
PoC em Python para CVE-2026-100740, uma escrita fora dos limites no L2TP Host Name AVP em D-Link DIR-895L A1_102b07 tunnel_set_params. Identifica o dispositivo e, opcionalmente, envia um gatilho UDP 1701 apenas para laboratório.
PoC em Python 3 para CVE-2026-100740 — firmware A1_102b07 do D-Link DIR-895L.
CVE-2026-100740 — gravação out-of-bounds (CWE-787 / CWE-119) em tunnel_set_params() (tunnel.c), parser do canal de controle L2TP. O comprimento do Host Name AVP é limitado a 127, mas o terminador NUL é gravado em peer_hostname[len+1] num buffer de 128 bytes → corrupção de memória de um byte (e adjacente). O ataque é remoto via UDP 1701 quando o dispositivo participa em L2TP (frequentemente cliente WAN para servidor L2TP do ISP; peer malicioso a montante/forjado). Afetado: apenas DIR-895L A1_102b07 (segundo a VulDB). Exploit público referenciado; sem correção do fabricante listada na NVD à data de publicação.
Investigação: Notion — DIR-895L L2TP Host Name AVP (mesma classe de bug que o relatório do DIR-822A).
Página do PoC: https://pocbit.org/pocs/cve-2026-100740
Catálogo: https://pocbit.org/pocs/
| Fabricante / modelo | D-Link DIR-895L |
| Firmware | A1_102b07 |
| Componente | Parser de controle L2TP / tunnel.c |
| Vetor | Host Name AVP manipulado (len 127) |
| Porta | UDP 1701 |
| CVSS 4.0 | VulDB PR:L, rede, impacto elevado |
Este PoC faz fingerprinting do router (HTTP), verifica UDP 1701 e, opcionalmente, envia um gatilho SCCRQ apenas para laboratório (--oob-send). Não inclui uma cadeia completa de RCE.
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.
Apenas para testes autorizados. --oob-send pode crashar o router.