CVE-2018-25322Allok Fast AVI MPEG Splitter 1.2版本存在严重的栈缓冲区溢出漏洞。该漏洞是由于软件在处理用户输入的“License Name”字段时,未对输入字符串长度进行有效边界检查导致的。本地攻击者无需用户交互即可利用此漏洞,通过精心构造包含780字节垃圾数据和恶意Shellcode的特殊字符串,覆盖栈上的返回地址,从而以应用程序权限执行任意代码,导致系统完全被控。
该漏洞属于典型的本地栈缓冲区溢出。漏洞触发点位于应用程序处理注册或许可名称的模块。当程序接收用户输入的“License Name”并将其拷贝到栈上固定大小的缓冲区时,由于缺乏长度校验机制,攻击者可输入超长数据。根据分析,攻击载荷由780字节的填充数据、覆盖返回地址的跳转指令以及后续的Shellcode组成。当数据量超过缓冲区容量时,多余的字节会覆盖栈帧中的基址指针(EBP)和返回地址(EIP)。程序函数返回时,CPU会跳转到攻击者控制的地址执行Shellcode,从而获得系统控制权。由于攻击向量为本地(AV:L)且无需权限(PR:N),危害等级较高。