CVE-2019-25689HTML5 Video Player 1.2.5 版本中存在严重的本地缓冲区溢出漏洞。该漏洞源于程序在处理用户输入时未对长度进行有效验证。攻击者无需用户交互即可利用此漏洞,通过向Help Register对话框的KEY CODE字段粘贴超过997字节的恶意字符串,导致缓冲区溢出,进而执行任意代码,最终可能导致系统被完全控制。
该漏洞属于典型的基于栈的缓冲区溢出。在HTML5 Video Player的注册功能中,程序调用了不安全的内存拷贝函数处理用户输入的“KEY CODE”字符串,且未检查输入长度。由于程序分配的缓冲区空间有限,当输入超过997字节时,多余的数据会覆盖栈上的返回地址或相邻内存区域。攻击者通过精心构造恶意载荷,将返回地址指向Shellcode地址或利用ROP链绕过防护。由于攻击向量为本地(AV:L)且无需权限(PR:N),攻击者可直接在目标机器上运行脚本或粘贴Payload,触发溢出后,程序流程被劫持,执行载荷中的代码(如弹出计算器),从而实现任意代码执行。