CVE-2016-20047EKG Gadu 1.9~pre+r2855-3+b1版本中存在一个本地缓冲区溢出漏洞。该漏洞源于程序在处理用户名时未正确验证输入长度,攻击者可利用此漏洞通过提供超长字符串覆盖指令指针,从而以用户权限执行任意代码。
该漏洞发生在EKG Gadu处理用户名的功能模块中。由于程序在调用strlcpy函数复制用户名到缓冲区之前,未能对输入数据的长度进行有效校验,导致当输入长度超过258字节时发生缓冲区溢出。攻击者可以精心构造包含Shellcode的恶意数据包,利用溢出覆盖栈上的返回地址或指令指针。当函数返回时,程序控制流将被劫持跳转到Shellcode执行。由于攻击向量为本地且无需权限和用户交互,这使得本地攻击者能够轻易获取系统控制权,造成数据泄露、篡改或服务中断。