CVE-2016-20039Multi Emulator Super System (MESS) 0.154-3.1版本中存在一个缓冲区溢出漏洞。该漏洞出现在gamma参数的处理逻辑中,允许本地攻击者通过提供超大的gamma参数值,触发栈缓冲区溢出。攻击者利用此漏洞可以覆盖指令指针,从而造成应用程序崩溃或执行任意代码,对系统机密性、完整性和可用性造成严重影响。
该漏洞的根本原因在于应用程序在解析gamma参数时,缺乏对输入字符串长度的有效校验,直接将用户输入拷贝至栈上的固定大小缓冲区。由于栈空间有限,当攻击者传入一个超长的字符串作为gamma参数值时,多余的数据会溢出缓冲区边界。精心构造的溢出数据可以覆盖栈帧中的返回地址或关键函数指针。攻击者通过控制这些指针,可以将程序的执行流劫持到攻击者控制的Shellcode或ROP(面向返回编程)链中。由于CVSS向量显示无需权限且无需用户交互,攻击者可以轻易地在本地环境触发该漏洞,进而实现拒绝服务攻击或获取系统控制权限。