CVE-2019-25650River Past CamDo 3.7.6版本存在严重的结构化异常处理(SEH)缓冲区溢出漏洞。该漏洞源于程序对Lame_enc.dll名称字段输入缺乏有效验证,本地攻击者无需用户交互,即可通过精心构造的恶意字符串覆盖SEH处理程序,从而触发任意代码执行,获取系统控制权。
该漏洞产生于River Past CamDo处理配置文件时,未对Lame_enc.dll名称字段进行严格的边界长度检查,导致基于栈的缓冲区溢出。攻击者通过构造特定的攻击载荷进行利用:首先使用280字节的填充数据覆盖缓冲区直至SEH记录位置;随后紧接NSEH跳转指令(通常为`\xeb\x06`),用于在异常触发时跳过随后的SEH指针;最后将SEH处理程序地址覆盖为指向系统模块中`pop-pop-ret`指令的地址。当程序引发异常时,系统执行该gadget,调整栈指针并跳转回payload中植入的Shellcode。成功利用该漏洞后,攻击者可在目标主机上建立端口3110的Bind Shell,从而实现本地提权与系统完全控制。