CVE-2018-25314Allok soft WMV to AVI MPEG DVD WMV Converter 4.6.1217 版本中存在严重的缓冲区溢出漏洞。该漏洞是由于应用程序在处理用户输入的“License Name”字段时,未对字符串长度进行有效边界检查导致的。本地攻击者可以通过向该字段提交超长字符串来触发栈溢出。利用此漏洞,攻击者能够覆盖结构化异常处理(SEH)记录,进而绕过软件的部分安全保护机制,最终以应用程序的运行权限执行任意恶意代码,从而完全控制受害主机。
该漏洞属于典型的本地栈缓冲区溢出,利用机制涉及结构化异常处理(SEH)覆盖技术。在软件运行过程中,当攻击者在注册界面的“License Name”输入框中注入精心构造的数据时,程序使用不安全的字符串拷贝函数(如strcpy)将数据写入固定大小的栈缓冲区。由于输入数据长度超过了缓冲区容量,多余的数据会覆盖栈上的返回地址或SEH链表。攻击者通过在特定偏移位置放置“Pop Pop Ret”指令的地址,能够将程序执行流重定向到位于栈上的Shellcode。这种方法可以有效绕过基于栈的保护机制,无需复杂的ROP链即可实现代码执行。