当前位置: 首页 > news >正文

CVE-2021-40438_ Apache HTTP Server mod_proxy 模块 SSRF漏洞

CVE-2021-40438_ Apache HTTP Server mod_proxy 模块 SSRF漏洞

  • 1. 漏洞原理
    • mod_proxy 架构
    • 漏洞怎么发生的?
  • 2. 漏洞危害
  • 3. 漏洞修复

CVSS评分:9.0

1. 漏洞原理

漏洞详细分析:

  • https://firzen.de/building-a-poc-for-cve-2021-40438
  • https://www.leavesongs.com/PENETRATION/apache-mod-proxy-ssrf-cve-2021-40438.html

mod_proxy 架构

简单说说mod_proxy 架构:mod_proxy是一个框架,具体协议由mod_proxy_httpmod_proxy_fcgimod_proxy_ajp等子模块实现。每个子模块会注册自己的canon handler来把配置或请求 URL 规范化,最终生成r->filename这样的中间表示(以proxy:开头的字符串),供后续代理逻辑使用。

举个例子,假设配置是:

ProxyPass /app http://backend:8080/api
  1. 用户访问http://yoursite/app/users

mod_proxy_http的canon handler把这个请求规范化:

原始:/app/users 规范化后:proxy:http://backend:8080/api/users
  1. 这个标准化的字符串保存到r->filename
  2. 后面的代理逻辑看到proxy:开头的内容,就知道:
  • 这是个代理请求
  • 具体由哪个子模块处理(根据协议类型)

漏洞怎么发生的?

Apache 支持一种 “unix socket + 后端 URL” 的混合写法(例如unix:/path/to.sock|http://...)——这是用于把反代指向本地 UDS 的便利语法。解析步骤里有个fix_uds_filename函数负责把unix:部分解析成uds_path,把|之后的部分当作真实目标 URL

但是,r->filename的后半段(path/search)来源于 HTTP 请求中的 path/query,而不是仅来源于静态配置,因此攻击者能在请求中插入操控内容,影响r->filename的最终字符串

fix_uds_filename在把unix:的 path 变成uds_path时,会调用ap_runtime_dir_relative→ 最终走到apr_filepath_merge。当apr_filepath_merge因入参超长或其他条件返回错误时,会导致ap_runtime_dir_relative返回NULLuds_path未被正确设置,从而使代理逻辑走回“以 TCP/域名/URI 连接”的分支,使用|之后的那个 URL 作为目标——这就给了攻击者控制代理目标的机会。

2. 漏洞危害

借助该 SSRF,攻击者可访问内部网络服务,窃取敏感信息等等

该漏洞并非只能发 HTTP 请求,其能力取决于 Apache mod_proxy 当前加载了哪些 “scheme handler” 模块。

如果服务器加载了其它 proxy 扩展模块,则此 SSRF 就能支持更多的协议。

3. 漏洞修复

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

https://access.redhat.com/security/cve/cve-2021-40438

http://www.jsqmd.com/news/123485/

相关文章:

  • Open-AutoGLM调度引擎深度解析:如何实现毫秒级城市资源响应?
  • 如何让大模型走进田间地头?Open-AutoGLM物联网适配的7个关键步骤
  • 华为OD机试真题2025双机位C卷 C语言 实现【挑选宝石】
  • springboot基于Vue.js的在线智慧社区服务平台
  • 2025年最新成都补习班推荐Top5:本土优质机构精选,适配不同学习需求 - 深度智识库
  • 搜索研究文献的渠道有哪些:常用学术文献检索平台及获取途径汇总
  • Taro4.x 引入 taro-ui 组件库
  • 基于SpringBoot的设计素材网站系统
  • 10万奖金,58人晋级!这场3D打印大赛谁将脱颖而出?
  • 为什么90%的智慧城市项目失败?:Open-AutoGLM给出的3个关键优化路径
  • 是趋势还是内卷?网工运维转行网安,薪资与职业生涯的双重跃迁
  • 从对话到预判:Open-AutoGLM如何实现驾驶员意图理解的跨越式突破
  • 盲盒小程序抽赏功能全解析:技术逻辑与商业闭环
  • 2025年终总结:六面钻/包装线/封边机/开料机权威厂家推荐榜 - 深度智识库
  • 网络与信息安全考研宝典:全网最全备考指南,看这一篇就够了
  • Open-AutoGLM流程提速秘诀:9步变5步,性能提升背后的真相
  • Open-AutoGLM到底有多强?10家医院试点后病历归档错误率下降93%
  • Java三大特性之一——多态,零基础小白到精通,收藏这篇就够了
  • 基于SpringBoot的汽车配件仓储管理系统
  • 【元宇宙AI引擎新纪元】:Open-AutoGLM适配优化的7个不为人知的秘密
  • MySQL ERROR 1227 (42000)
  • 10个高效降AI率工具,继续教育学生必看!
  • 数字孪生与AutoGLM融合难题,90%工程师忽略的3个关键控制节点
  • springboot基于Vue在线考试管理系统
  • 448万台、近百亿元!前11个月我国3D打印机出口再创新高
  • 【工业智能控制新纪元】:Open-AutoGLM赋能数字孪生的7大应用场景
  • 网络安全基础精华总结:一文搞定100个核心概念
  • 2025年靠谱南阳短视频制作与推广公司排行榜,短视频推广怎么做 - mypinpai
  • 2025年靠谱黄精茶代加工供应商排行榜,精选黄精茶代加工优质供应商推荐 - myqiye
  • Open-AutoGLM数字孪生控制系统实战(从架构设计到部署落地)