IPBUF安全漏洞报告
English
CVE-2019-25592 CVSS 6.2 中危

CVE-2019-25592 PHPRunner拒绝服务漏洞

披露日期: 2026-03-22

漏洞信息

漏洞编号
CVE-2019-25592
漏洞类型
拒绝服务
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
PHPRunner

相关标签

拒绝服务DoS缓冲区溢出PHPRunnerCVE-2019-25592

漏洞概述

PHPRunner 10.1版本中存在一个严重的拒绝服务漏洞。该漏洞源于程序在处理用户输入时缺乏足够的边界检查。攻击者无需经过身份认证,即可在本地环境中利用此漏洞。通过在创建仪表盘的“名称”字段中粘贴包含10000个字符的超长字符串缓冲区,攻击者可以触发缓冲区溢出错误,导致应用程序意外崩溃,从而造成服务中断。

技术细节

该漏洞属于典型的基于缓冲区溢出的拒绝服务漏洞。在PHPRunner 10.1的处理逻辑中,当用户创建新的仪表盘时,系统会接收用户提交的“Name”字段数据。由于后端代码未对该字段的长度进行严格的限制和验证,当攻击者提交一段精心构造的超长字符串(例如长度为10000字节的缓冲区)时,数据会溢出预分配的内存缓冲区。这种溢出不仅破坏了相邻的内存区域,还可能覆盖关键的返回地址或异常处理结构,导致应用程序抛出未处理的异常并强制终止进程。攻击向量被标记为本地(AV:L),意味着攻击者需要拥有对运行应用程序的环境的本地访问权限或处于同一网络段,但无需任何用户权限(PR:N)和用户交互(UI:N)即可成功触发。该漏洞主要影响可用性(A:H),导致Web服务停止响应。

攻击链分析

STEP 1
侦察
攻击者识别出目标系统正在运行PHPrunner 10.1版本。
STEP 2
准备载荷
攻击者构造一个长度为10000字符的超长字符串作为恶意载荷。
STEP 3
执行攻击
攻击者访问仪表盘创建页面,并在“Name”字段中粘贴该超长字符串,提交表单。
STEP 4
达成效果
服务器端因无法处理超长输入导致缓冲区溢出,应用程序进程崩溃,服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Exploit Title: PHPRunner 10.1 - Denial of Service (PoC) # Date: 2019-05-29 # CVE: CVE-2019-25592 import requests target_url = "http://target-phprunner-site.com/dashboard_add.php" # Generate a buffer of 10000 characters buffer = "A" * 10000 # Payload data payload = { "name": buffer, # The vulnerable field "submit": "Create" } try: print("[*] Sending payload to crash the application...") response = requests.post(target_url, data=payload) print("[+] Payload sent. Check if the application has crashed.") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

PHPrunner 10.1

防御指南

临时缓解措施
建议开发者立即检查并修复创建仪表盘功能的代码逻辑,在接收“Name”参数时增加最大长度限制(如限制为255字符),防止缓冲区溢出攻击。在官方补丁发布前,应限制对创建仪表盘功能的访问权限。

参考链接

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