CVE-2019-25681Xlight FTP Server 3.9.1版本中存在一个结构化异常处理(SEH)覆盖漏洞。本地攻击者可以通过向虚拟服务器配置中的程序执行字段提供精心构造的缓冲区字符串,导致应用程序崩溃并覆盖SEH指针。攻击者能够注入约428字节的恶意负载,触发缓冲区溢出并破坏SEH链,从而可能导致任意代码执行。该漏洞无需认证且无需用户交互,对系统的机密性、完整性和可用性构成严重威胁。
该漏洞的根源在于Xlight FTP Server在处理虚拟服务器配置中的“程序执行”字段时,未对输入数据的长度进行严格的边界检查。当攻击者输入超长字符串时,程序在拷贝数据到栈内存时发生缓冲区溢出。由于溢出数据覆盖了栈上的结构化异常处理(SEH)记录,攻击者可以精确控制溢出的内容。通常利用方式包括填充垃圾数据直到覆盖SEH处理程序指针,然后跳转到攻击者植入的Shellcode。当程序触发异常时,系统会调用被篡改的SEH处理程序,从而执行恶意代码,获取系统控制权。此漏洞利用了Windows异常处理机制的缺陷,属于经典的SEH覆盖攻击。