CVE-2019-25628Download Accelerator Plus (DAP) 10.0.6.0版本中存在严重的结构化异常处理(SEH)缓冲区溢出漏洞。该漏洞允许远程攻击者通过精心构造的恶意URL进行攻击。当应用程序通过网页导入功能导入这些恶意URL时,会导致缓冲区溢出,覆盖SEH指针。攻击者可借此执行任意嵌入式Shellcode,从而完全控制受害者的系统。由于无需用户交互即可通过网络触发,该漏洞极具危险性。
该漏洞源于Download Accelerator Plus(DAP)在处理通过网页导入功能获取的URL时,缺乏足够的长度边界检查。攻击者可以精心构造一个包含大量填充数据的恶意URL,该数据设计用于覆盖栈上的结构化异常处理(SEH)记录。具体攻击原理是:攻击者向缓冲区写入超出其容限的数据,首先用特定模式填充缓冲区直到覆盖SEH处理程序的位置,然后将SEH指针替换为指向POP POP RET指令的地址(通常位于非ASLR保护的系统模块中),随后紧跟Shellcode。当程序因缓冲区溢出触发异常时,系统会调用被篡改的SEH处理程序,执行POP POP RET指令将栈指针(ESP)跳转到Shellcode的起始位置,从而实现任意代码执行。