漏洞详解|CVE-2026-44825 Apache Solr 隐藏默认账号漏洞(附检测+修复全套方案)

漏洞级别:高危

漏洞类型:硬编码默认账号(CWE-798)

简述:Apache Solr 认证开启工具存在高危缺陷,管理员开启身份认证后,程序会静默创建4组公开默认账号,攻击者可直接登录接管Solr服务,实现数据窃取、篡改甚至远程命令执行,危害业务整体安全。


一、前置科普:Apache Solr 是什么?

很多开发、运维同学只知道引入依赖,却不清楚Solr组件的作用,这里直白给大家讲解。

Apache Solr 是一款基于Lucene开发的开源企业级全文搜索引擎,由Java语言编写,主打高性能、高可用,是目前行业内主流的检索中间件之一。

1. 核心功能

  • 全文检索:支持中文分词、关键词匹配、搜索高亮、同义词匹配,适配各类检索场景

  • 数据聚合筛选:提供分面搜索、条件过滤、排序、统计聚合等能力

  • 大数据适配:可承载千万至亿级数据,毫秒级响应检索请求

  • 分布式集群:支持SolrCloud集群部署,支持横向扩容、故障自动切换,满足生产高可用需求

2. 项目中常见依赖包

Java项目中,我们一般会引入两个核心依赖包,分工明确:

  • solr-core:服务端核心包,内置Jetty容器、后台管理UI、索引创建、数据存储等全套服务能力,用于独立部署Solr服务

  • solr-solrj:客户端SDK,业务项目通过该包提供的API,远程调用Solr服务,完成数据增删改查、关键词检索

适用场景:电商商品搜索、网站站内检索、日志分析平台、知识库文档检索、大数据业务快速查询等。


二、漏洞详细分析

1. 受影响版本

该漏洞并非全版本覆盖,仅针对Solr 9、10系列新版本,老旧8.x版本无风险:

  • 受影响版本:9.4.0 ~ 9.10.1、10.0.0

  • 无风险版本:8.x及以下所有版本、9.10.2及以上修复版本

2. 漏洞产生原理

为解决Solr裸奔部署无认证的安全问题,官方提供了一键认证命令:bin/solr auth enable,该命令用于快速开启Basic身份认证。

正常逻辑:管理员执行命令并自定义账号密码,生成security.json配置文件,仅自定义账号可登录后台。

漏洞核心缺陷 :开发者在该功能中预埋硬编码逻辑,执行认证开启命令时,程序除创建管理员自定义账号外,会静默自动新增4组固定账号,且不会告知管理员,账号密码一一对应:

  • superadmin / superadmin(最高权限,可操控集群所有功能)

  • admin / admin(管理员权限)

  • index / index(索引操作权限)

  • search / search(只读检索权限)

3. 漏洞危害

  1. 攻击者利用公开默认账号,直接登录Solr管理后台;

  2. 高权限账号可读取、删除、篡改全部业务索引数据;

  3. 可修改服务配置、上传恶意配置文件,触发远程代码执行;

  4. 若为集群部署,攻击者可直接接管整套SolrCloud集群。


三、自查:你的项目是否存在漏洞?

只有同时满足以下三个条件,项目才会受此漏洞影响:

  1. Solr版本处于受影响范围内(9.4.0~9.10.1、10.0.0);

  2. 曾经使用 solr auth enable 命令开启过Basic账号认证;

  3. 服务器8983默认端口可被外网/非可信内网IP访问。

1. 查看依赖版本(内嵌Solr项目)

打开项目 pom.xml,检索solr相关依赖,查看version标签:

XML 复制代码
<dependency>
 <groupId>org.apache.solr</groupId>
 <artifactId>solr-core</artifactId>
 <version>9.7.0</version>
</dependency> 

<dependency>
 <groupId>org.apache.solr</groupId>
 <artifactId>solr-solrj</artifactId>
 <version>9.7.0</version>
</dependency>

2. 独立部署Solr查看版本

Linux/Mac 命令:

XML 复制代码
cd /你的solr路径/bin ./solr -version

Windows 命令:

XML 复制代码
cd D:\solr\bin solr.cmd -version

3. 验证默认账号是否可用

使用curl命令测试高危默认账号,替换为你的服务器IP:

XML 复制代码
# 测试superadmin账号 
curl -u superadmin:superadmin http://IP:8983/solr/admin/info/system

请求返回200且正常返回系统数据,代表账号可直接登录,漏洞真实存在。


四、全套修复方案

1. 最优方案:升级版本(生产首选)

直接升级至官方修复版本:9.10.2及以上、10.1.0及以上,彻底根除漏洞问题;内嵌项目直接修改依赖版本号即可。

2. 临时紧急修复(无法立刻升级)

方式一:手动删除隐藏默认账号

编辑Solr认证配置文件security.json,删除superadmin、admin、search、index四个内置账号,重启Solr服务生效。

方式二:网络权限隔离
  • 防火墙/安全组封禁8983端口外网访问权限,仅放行内网业务服务器IP;

  • 前端Nginx反向代理新增规则,拦截后台登录接口的非法访问请求。

3. 兜底方案:版本降级

降级至8.x系列最新稳定版本,该系列版本无此隐藏账号漏洞,适合暂时无法升级、无法修改配置的老旧项目。


五、安全建议总结

  1. 禁止Solr裸奔上线,所有生产环境必须开启身份认证,并定期巡检内置账号;

  2. 搜索引擎、缓存、消息队列等中间件,禁止直接对外开放默认端口;

  3. 定期同步官方安全公告,及时更新中间件版本,规避已知高危漏洞;

  4. 上线前增加安全检测流程,重点排查硬编码账号、弱口令类高危风险。

免责声明:本文所有检测方案仅用于企业内部自查授权资产,禁止用于非法攻击未授权资产,违者后果自负。

相关推荐
SelectDB6 小时前
Apache Doris 实战教程:手把手实现 ClickHouse 表结构迁移与数据校验
apache
SelectDB6 小时前
Apache Doris 实战教程:从零搭建 MCP Server,让 AI Agent 直接用自然语言查数据
apache
SelectDB6 小时前
Apache Doris Segment V3 宽表优化实战教程:从建表到体验元数据按需加载
apache
java_logo12 小时前
Docker Compose 部署 Apache Superset:轻松搭建开源 BI 平台
docker·开源·apache·superset·轩辕镜像·superset部署方案·docker superset
risc12345614 小时前
通过树来理解访问者模式 访问者模式的灵魂在于数据结构的遍历 访问者访问的是数据结构的某一个元素他要觉得要不要访问这个元素或者访问哪些元素
lucene·访问者模式
Gent_倪1 天前
数据治理之元数据管理:Apache Atlas
apache
Kina_C2 天前
Apache HTTP Server 安装、配置与高级功能详解
linux·http·apache
中北marry2 天前
玄机靶场wp 第一章 日志分析-Apache日志分析
apache
java_logo2 天前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
Zhu7582 天前
在k8s环境部署Apache Superset最新版
容器·kubernetes·apache