CVE-2018-25261CVE-2018-25261是Iperius Backup 5.8.1版本中发现的一个高危本地缓冲区溢出漏洞。该漏洞源于软件在处理结构化异常处理(SEH)机制时的不当操作。本地攻击者无需用户交互或认证,即可通过创建包含恶意载荷的备份任务进行利用。具体而言,攻击者在“外部文件位置”字段注入超长字符串,当备份作业运行时触发溢出,导致系统以应用程序权限执行任意代码,严重威胁系统安全。
该漏洞属于典型的基于栈的缓冲区溢出,并涉及结构化异常处理(SEH)的覆盖利用。漏洞触发点在于Iperius Backup解析备份配置中的“外部文件路径”时,未对字符串长度进行有效校验,直接拷贝至固定大小的栈缓冲区。攻击者通过精心构造特定的字符序列,可以覆盖栈上的SEH记录。利用过程通常分为三部分:首先是填充缓冲区直到覆盖SEH记录;其次是覆盖“Next SEH”字段(通常为跳转指令,如\xeb\x06\x90\x90)和“SE Handler”字段(指向非ASLR模块中的pop pop ret指令地址);最后是放置Shellcode。当程序触发异常时,系统接管并调用被覆盖的SEH处理程序,执行pop pop ret将栈顶(ESP)指向Shellcode起始位置,从而劫持控制流并执行恶意代码。