| Firmware Name | Firmware Version | Download Link |
|---|---|---|
| DAP-1620 | DAP_1620_REVA_FIRMWARE_1.03 | https://legacyfiles.us.dlink.com/DAP-1620/REVA/Firmware/DAP-1620_REVA_FIRMWARE_1.03.B08.ZIP |
The vulnerability was triggered by a pointer dereference error at address 0x41b7f0 within the plugins_call_handle_uri_clean function.

Every time an HTTP response message is generated, the http_response_prepare function is called first. This function, in turn, calls the plugins_call_handle_uri_clean function.

In Lighttpd, the plugins_call_handle_uri_clean function is a core component of the plugin handling mechanism. It is responsible for invoking the handle_uri_clean callback functions registered by various plugins.

Specifically, it invokes the mod_graph_auth_uri_handler function from the mod_graph_auth.so plugin. <mod_graph_auth.so+0x16b4>
In the mod_graph_auth_uri_handler function, the sprintf function is used to format a string and store it in str_2, which is a local variable on the stack.
str_2: A local variable on the stack, used to store the formatted string.ptr: Points to the HTTP request address."/www%s": The format string, where %s is a placeholder for the string pointed to by ptr.
If the HTTP request address stored in ptr exceeds the allocated space for str_2, it will lead to a stack overflow.