漏洞详解|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. 上线前增加安全检测流程,重点排查硬编码账号、弱口令类高危风险。

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

相关推荐
BBWEYY终身尊贵会员12 小时前
教培小机构小程序开发:从技术选型、系统架构到表结构与接口设计的完整实践
apache
前端 贾公子2 天前
小程序蓝牙打印探索与实践(下)
小程序·apache
DolphinScheduler社区2 天前
Apache DolphinScheduler 3.4.2 正式发布!新增 Amazon EMR Serverless 插件,增强监控与补数据能力
大数据·云原生·serverless·apache·海豚调度·版本发版
前端 贾公子2 天前
小程序蓝牙打印探索与实践(中)
apache
SeaTunnel2 天前
87 个 PR 迭代复盘|Apache SeaTunnel 5 月版本重点更新解读
大数据·数据库·开源·apache·seatunnel
DolphinScheduler社区2 天前
实战演示 | 基于 Apache DolphinScheduler 与 Apache SeaTunnel 实现 MySQL 到 Doris 离线定时增量同步
数据库·mysql·开源·apache·海豚调度·大数据工作流调度
chéng ௹2 天前
uniapp封装火山引擎 DataRangers 埋点 SDK
uni-app·apache·火山引擎
阿坤带你走近大数据2 天前
Apache Hop的详细介绍
apache
2601_961845423 天前
高考真题下载|2025高考全科真题网盘分类整理
搜索引擎·中文分词·solr·lucene·sphinx·高考