Apache Solr 身份验证绕过漏洞(CVE-2024-45216)详解

2024-11-23 2 0

什么是 Apache Solr?

Apache Solr 是一个基于 Apache Lucene 的开源搜索平台,广泛应用于构建搜索引擎和数据分析应用。Solr 专为处理海量数据设计,性能高效,支持搜索、内容管理、自然语言处理等多种场景。


漏洞概述

影响范围:

  • Solr 5.3.0 至 8.11.4
  • Solr 9.7.0 及以下版本

这些版本的 PKIAuthenticationPlugin(默认启用)存在漏洞,可以通过在 API 路径末尾添加伪造的 URL 片段绕过身份验证。


配置与复现

认证配置文件 security.json示例:

{
  "authentication": {
    "class": "solr.BasicAuthPlugin",
    "credentials": {
      "solr": "IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="
    },
    "blockUnknown": false
  },
  "authorization": {
    "class": "solr.RuleBasedAuthorizationPlugin",
    "permissions": [
      {
        "name": "security-edit",
        "role": "admin"
      }
    ],
    "user-role": {
      "solr": "admin"
    }
  }
}

操作步骤:

  1. 启用身份验证插件:在配置文件中启用 BasicAuthPluginRuleBasedAuthorizationPlugin
  2. 创建用户和角色
    • 用户名:solr
    • 密码:SolrRocks
    • 角色:admin,具有 security-edit权限。
  3. 搭建测试环境
    使用以下 docker-compose.yaml快速搭建测试环境:
version: '3.7'
services:
  solr:
    image: solr:9.6.0
    ports:
      - "8983:8983"
    volumes:
      - ./security.json:/var/solr/data/security.json
  1. 将配置上传至 Zookeeper
solr zk cp /var/solr/data/security.json zk:/security.json -z zoo1:2181
  1. 绕过身份验证
    • 通过构造以 /admin/info/key结尾的请求路径,可以绕过身份验证直接访问。

技术分析

漏洞核心:
PKIAuthenticationPlugin插件在验证请求时,对以 /admin/info/key结尾的请求路径未执行完整验证。通过构造特殊的请求路径,可以绕过所有身份验证逻辑。

关键代码分析:

  1. doAuthenticate方法问题
    • 修复前会直接检查路径是否以 /admin/info/key结尾,如果匹配则跳过所有验证。
  2. URI 处理问题
    • 请求路径中 :后的部分会被截断,从而绕过路径验证。

解决方案

  1. 升级 Solr:尽快升级到 9.7.1 或更高版本。
  2. 临时修复:关闭不必要的 API,确保只允许认证的请求访问关键数据。

相关patch:

  • https://issues.apache.org/jira/secure/attachment/13071024/SOLR-17417.patch

官方公告【含具体攻击POC/EXP】:

  • https://issues.apache.org/jira/browse/SOLR-17417

4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

办事处网络安全监控与事件响应;国外员工终端安全性怎么保障 | FB甲方群话题讨论
拿不下总统之位,那就用热加载拿下验证码识别与爆破好了!
Sooty:一款SoC分析一体化与自动化CLI工具
shiro CVE-2016-6802 路径绕过(越权)
llama_index的CVE-2024-4181漏洞根因分析
安全运营体系 | 终端安全篇

发布评论