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

CVE-2018-25282 Nmap XML实体扩展拒绝服务漏洞

披露日期: 2026-04-26

漏洞信息

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

相关标签

拒绝服务XML实体扩展NmapZenMapDoS

漏洞概述

Nmap 7.70版本中存在一个拒绝服务漏洞,该漏洞源于ZenMap在处理导入的扫描结果XML文件时,未正确限制XML实体的递归扩展。本地攻击者可以利用此漏洞,通过构造包含恶意嵌套实体定义的XML文件,诱导受害者通过ZenMap导入功能打开该文件,从而触发指数级实体扩展攻击。这将导致应用程序消耗大量系统资源,最终造成程序崩溃或系统无响应。

技术细节

该漏洞属于典型的XML实体扩展攻击,即“Billion Laughs Attack”。在Nmap 7.70集成的ZenMap图形界面工具中,扫描导入功能负责解析XML格式的扫描数据。由于解析器缺乏对XML内部实体递归深度和扩展总长度的安全校验,攻击者可以精心制作一个包含多层嵌套实体引用的恶意XML文件。当用户通过ZenMap导入该文件时,解析器会尝试完全展开实体。例如,定义实体层层嵌套引用,导致最终展开后的数据量呈指数级爆炸增长。这种操作会瞬间耗尽CPU周期和内存资源,导致ZenMap进程挂起或崩溃,实现拒绝服务攻击。

攻击链分析

STEP 1
步骤1
攻击者构造包含指数级嵌套实体定义的恶意XML文件。
STEP 2
步骤2
攻击者将恶意文件放置在目标系统上,或诱导用户下载。
STEP 3
步骤3
受害者使用ZenMap的“Scan Import”功能打开并导入该恶意XML文件。
STEP 4
步骤4
ZenMap解析XML时触发实体扩展,消耗系统资源导致程序崩溃。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?xml version="1.0"?> <!DOCTYPE data [ <!ELEMENT data (#ANY)> <!ENTITY a "1234567890"> <!ENTITY b "&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;"> <!ENTITY c "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;"> <!ENTITY d "&c;&c;&c;&c;&c;&c;&c;&c;&c;&c;"> <!ENTITY e "&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;"> <!ENTITY f "&e;&e;&e;&e;&e;&e;&e;&e;&e;&e;"> <!ENTITY g "&f;&f;&f;&f;&f;&f;&f;&f;&f;&f;"> <!ENTITY h "&g;&g;&g;&g;&g;&g;&g;&g;&g;&g;"> <!ENTITY i "&h;&h;&h;&h;&h;&h;&h;&h;&h;&h;"> ]> <data>&i;</data>

影响范围

Nmap 7.70

防御指南

临时缓解措施
建议用户不要打开或导入来源不可信的XML文件到ZenMap中。系统管理员可以通过配置操作系统资源限制(如ulimit),限制ZenMap进程的最大CPU和内存使用量,以防止系统资源被完全耗尽。如果不需要使用图形界面,建议仅使用命令行版本的Nmap。

参考链接

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