CVE-2017-20228Flat Assembler 1.71.21版本存在严重的栈缓冲区溢出漏洞。由于软件未正确限制输入长度,本地攻击者可构造超长汇编文件(超过5895字节)触发溢出,进而覆盖指令指针,利用ROP链执行任意代码,完全控制宿主机。
该漏洞发生在Flat Assembler处理输入数据时,程序未对用户提供的汇编代码长度进行有效边界检查,导致基于栈的缓冲区溢出。当输入数据超过约5895字节时,多余的数据将覆盖栈帧中的返回地址(EIP)。攻击者可精心设计输入内容,在溢出区域部署返回导向编程(ROP)链。通过劫持控制流并绕过数据执行保护(DEP),攻击者能够以进程权限执行任意Shell命令,实现本地权限提升或代码执行。