CVE-2019-25609JetAudio jetCast Server 2.0版本存在严重的栈缓冲区溢出漏洞。该漏洞源于‘Log Directory’配置字段缺乏边界检查,允许本地攻击者通过注入恶意数据覆盖结构化异常处理(SEH)指针。攻击者无需用户交互即可利用字母数字编码的Shellcode触发异常,进而劫持控制流并以应用程序权限执行任意代码,对系统机密性、完整性和可用性造成极高影响。
该漏洞源于JetAudio jetCast Server 2.0在处理‘Log Directory’配置参数时未能正确执行边界检查。攻击者通过向该字段输入精心构造的长字符串,导致基于栈的缓冲区溢出。利用的关键在于覆盖栈上的结构化异常处理(SEH)指针。攻击者构造的Payload通常包含三部分:用于填充至SEH记录位置的垃圾数据、覆盖Next SEH的短跳转指令(如\xeb\x06\x90\x90)、以及覆盖SE Handler的指向‘POP POP RET’指令的地址。当程序因溢出崩溃并触发异常时,系统接管控制权并执行被修改的SE Handler,通过‘POP POP RET’指令将栈顶指针指向Shellcode起始位置,最终执行攻击者注入的字母数字编码Shellcode,从而实现本地权限提升或任意代码执行。