Dlink DIR Routers Unauthenticated HNAP Login Stack Buffer Overflow
Several Dlink routers contain a pre-authentication stack buffer overflow vulnerability, which is exposed on the LAN interface on port 80. This vulnerability affects the HNAP SOAP protocol, which accepts arbitrarily long strings into certain XML parameters and then copies them into the stack. This exploit has been tested on the real devices DIR-818LW and 868L (rev. B), and it was tested using emulation on the DIR-822, 823, 880, 885, 890 and 895. Others might be affected, and this vulnerability is present in both MIPS and ARM devices. The MIPS devices are powered by Lextra RLX processors, which are crippled MIPS cores lacking a few load and store instructions. Because of this the payloads have to be sent unencoded, which can cause them to fail, although the bind shell seems to work well. For the ARM devices, the inline reverse tcp seems to work best. Check the reference links to see the vulnerable firmware versions.
- Pedro Ribeiro <pedrib [at] gmail.com>
- Dlink DIR-818 / 822 / 823 / 850 [MIPS]
- Dlink DIR-868 (rev. B and C) / 880 / 885 / 890 / 895 [ARM]
To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':
msf > use exploit/linux/http/dlink_hnap_login_bof msf exploit(dlink_hnap_login_bof) > show targets ...targets... msf exploit(dlink_hnap_login_bof) > set TARGET <target-id> msf exploit(dlink_hnap_login_bof) > show options ...show and set options... msf exploit(dlink_hnap_login_bof) > exploit