An issue was discovered in apply.cgi on D-Link DAP-1520 devices before 1.10b04Beta02. Whenever a user performs a login action from the web…
mitre·CWE-669·Published 2020-07-22
An issue was discovered in apply.cgi on D-Link DAP-1520 devices before 1.10b04Beta02. Whenever a user performs a login action from the web interface, the request values are being forwarded to the ssi binary. On the login page, the web interface restricts the password input field to a fixed length of 15 characters. The problem is that validation is being done on the client side, hence it can be bypassed. When an attacker manages to intercept the login request (POST based) and tampers with the vulnerable parameter (log_pass), to a larger length, the request will be forwarded to the webserver. This results in a stack-based buffer overflow. A few other POST variables, (transferred as part of the login request) are also vulnerable: html_response_page and log_user.
An issue was discovered in apply.cgi on D-Link DAP-1520 devices before 1.10b04Beta02. Whenever a user performs a login action from the web interface, the request values are being forwarded to the ssi binary. On the login page, the web interface restricts the password input field to a fixed length of 15 characters. The problem is that validation is being done on the client side, hence it can be bypassed. When an attacker manages to intercept the login request (POST based) and tampers with the vulnerable parameter (log_pass), to a larger length, the request will be forwarded to the webserver. This results in a stack-based buffer overflow. A few other POST variables, (transferred as part of the login request) are also vulnerable: html_response_page and log_user.
Se detectó un problema en el archivo apply.cgi en los dispositivos D-Link DAP-1520 versiones anteriores a 1.10b04Beta02. Cada vez que un usuario lleva a cabo una acción de inicio de sesión desde la interfaz web, los valores de la petición están siendo reenviados al binario ssi. En la página de inicio de sesión, la interfaz web restringe el campo de entrada de contraseña a una longitud fija de 15 caracteres. El problema es que la comprobación se está haciendo en el lado del cliente, por lo tanto, se puede omitir. Cuando un atacante logra interceptar la petición de inicio de sesión (basada en POST) y manipula el parámetro vulnerable (log_pass), a una longitud mayor, la petición será reenviada al servidor web. Esto resulta en un desbordamiento del búfer en la región stack de la memoria. Algunas otras variables POST (transferidas como parte de la petición de inicio de sesión) también son vulnerables: html_response_page y log_user
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 2.0 | Primary | NVD | 7.5 | 10.0 | 6.4 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| 3.1 | Primary | NVD | 9.8 | 3.9 | 5.9 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |