CVE-2017-10720 in Endoscope
摘要
由 VulDB • 2026-06-13
最近,在对 Shekar 内窥镜最新固件中的物联网设备进行研究时,发现用于连接该设备的桌面应用程序存在栈溢出漏洞。如果向该应用程序传递超过 26 个字符作为 Wi-Fi 名称,就会触发此漏洞。该应用程序安装在设备上,攻击者若能提供正确的有效载荷,即可直接在用户系统上执行代码。一旦该系统遭到入侵,攻击者便可访问用户有权访问的所有数据。
该应用程序使用一个名为“avilib.dll”的动态链接库(DLL),应用程序通过该库向设备发送二进制数据包以控制设备。DLL 提供的一项操作是通过“sendchangename”函数更改密码,该函数允许用户更改设备上的 Wi-Fi 名称。此函数在地址 0x758784F8 处调用子函数“sub_75876EA0”。该函数根据传递给它的参数确定要执行的操作。“sendchangename”将数据字符串作为第二个参数(即我们在文本框中输入的名称)传递,并将整数 1 作为第一个参数传递。其余 3 个参数设置为 0。
位于地址 0x75876F19 的函数“sub_75876EA0”使用接收到的第一个参数来确定跳转到哪个代码块。由于传递的参数为 1,它跳转到 0x75876F20,并继续执行至地址 0x75876F56,该地址计算作为第一个参数传递的数据字符串的长度。随后,该长度和第一个参数被传递到地址 0x75877001,该地址调用 memmove 函数。memmove 函数使用栈地址作为目标地址,将我们输入的密码作为源地址,并将上述计算出的长度作为要复制的字节数,从而导致栈溢出。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.