CVE-2018-25293Prime95 29.4b7版本中的PrimeNet连接对话框存在严重的缓冲区溢出漏洞。该漏洞源于程序在处理“可选代理密码”字段时未能正确验证输入数据的长度。本地攻击者无需任何权限或用户交互,只需在该字段中输入一段超长字符串(例如6000字节的有效载荷),即可触发内存越界写入。当应用程序尝试处理这些连接设置时,会因缓冲区溢出而崩溃,从而导致拒绝服务攻击,严重影响软件的正常运行。
该漏洞属于典型的基于栈的缓冲区溢出。在Prime95软件的PrimeNet连接设置模块中,代理密码字段被定义为一个固定大小的缓冲区。当用户输入密码时,程序使用了不安全的内存拷贝操作,未对输入长度进行校验。攻击者可以向该字段输入超过缓冲区容量的数据(如6000字节)。数据写入时,多余的字节会覆盖栈上的返回地址或相邻的内存变量。由于攻击向量为本地(AV:L)且无需权限(PR:N),任何能访问系统的用户均可触发。虽然当前主要表现为DoS(应用程序崩溃),但在特定条件下,若攻击者能控制覆盖内容,理论上存在代码执行风险。