2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Apache Tomcat 被曝重大漏洞,影响过去 13 年的所有版本

  • 2020-03-02
  • 本文字数:1039 字

    阅读完需:约 3 分钟

Apache Tomcat被曝重大漏洞,影响过去13年的所有版本


近日,国内安全公司长亭科技披露一个在 Tomcat 中潜伏十多年的安全漏洞——Ghostcat (幽灵猫),其编号为CVE-2020-1938


据悉,Ghostcat(幽灵猫)由长亭科技安全研究员发现,它是存在于Tomcat中的安全漏洞。


由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。


Tomcat Connector 是 Tomcat 与外部连接的通道,它使得 Catalina 能够接收来自外部的请求,传递给对应的 Web 应用程序处理,并返回请求的响应结果。默认情况下,Tomcat 配置了两个 Connector,它们分别是 HTTP Connector 和 AJP Connector。


并且,在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。

影响过去 13 年所有 Apache Tomcat 版本

众所周知,Java 是目前 Web 开发中最主流的编程语言,而 Tomcat 是当前最流行的 Java 中间件服务器之一,从初版发布到现在已有二十多年历史,在世界范围内被广泛使用。


据长亭科技官方介绍,这个漏洞影响全版本默认配置下的 Tomcat(已确认影响 Tomcat 9/8/7/6 全版本),这意味着 Ghostcat 在 Tomcat 中潜伏十多年。


“通过 Ghostcat 漏洞,攻击者可以读取 Tomcat 所有 webapp 目录下的任意文件。”长亭科技在博客上写道。


此外,如果网站应用提供文件上传的功能,攻击者能先向服务端上传一个内容含有恶意 JSP 脚本代码的文件(上传的文件本身可以是任意类型的文件,比如图片、纯文本文件等),然后利用 Ghostcat 漏洞进行文件包含,从而达到代码执行的危害。


下列版本的 Tomcat 受 Ghostcat 漏洞影响:


  • Apache Tomcat 9.x < 9.0.31

  • Apache Tomcat 8.x < 8.5.51

  • Apache Tomcat 7.x < 7.0.100

  • Apache Tomcat 6.x

修复漏洞

长亭科技提示:对于处在漏洞影响版本范围内的 Tomcat 而言,若其开启 AJP Connector 且攻击者能够访问 AJP Connector 服务端口的情况下,即存在被 Ghostcat 漏洞利用的风险。


并且,Tomcat AJP Connector 默认配置下即为开启状态,且监听在 0.0.0.0:8009。


要正确修复 Ghostcat 漏洞,首先要确定服务器环境中是否有用到 Tomcat AJP 协议:


  • 如果未使用集群或反向代理,则基本上可以确定没有用到 AJP;

  • 如果使用了集群或反向代理,则需要看集群或反代服务器是否与 Tomcat 服务器 AJP 进行通信


早在 1 月初,长亭科技向 Apache Tomcat 官方提交漏洞。


目前,Tomcat 官方已经发布 9.0.31、8.5.51 及 7.0.100 版本针对此漏洞进行修复。因此,建议 Tomcat 用户尽快升级到最新版本。


2020-03-02 11:5511421
用户头像
万佳 前InfoQ编辑

发布了 681 篇内容, 共 391.2 次阅读, 收获喜欢 1805 次。

关注

评论

发布
暂无评论
发现更多内容

【Flutter 专题】57 图解页面小跳转 (三)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

网络安全学习:内网渗透案例,打破渗透瓶颈

网络安全学海

黑客 网络安全 信息安全 安全漏洞 内网渗透

Promise.allSettled() 原理解析及使用指南

devpoint

异步 Promise 9月日更

css中background简写顺序,css权重应该怎么计算

你好bk

CSS 大前端

架构实战营 - 模块二作业

en

「架构实战营」

架构实战营 微信朋友圈高性能复杂度分析

💤 ZZzz💤

架构实战营

模块2-作业

笑看风雨情

学生管理系统 - 毕设架构设计

黑鹰

微信朋友圈高性能架构分析-模块二作业

娜酱

#架构实战营

【8月书单】

姬翔

9月日更

ShardingSphere LogicSQL 的生成探索

源码 ShardingSphere

Java + opencv 实现年龄识别

张音乐

Java OpenCV 9月日更 年龄识别

Linux之ssh-agent命令

入门小站

Linux

Go- 接口-2

HelloBug

interface Go 语言

Python代码阅读(第24篇):根据筛选函数将列表元素分成两组

Felix

Python 编程 Code Programing 阅读代码

模块二作业

potti

架构实战营

为什么要招聘有经验的人?

石云升

职场经验 9月日更

面试题 -- 如何设计一个线程池

秦怀杂货店

线程 线程池 并发

Go- 接口-1

HelloBug

interface Go 语言

GitHub上霸榜多时的“大哥”!竟是Alibaba内部被疯狂转载的Spring全能指南?

Java 编程 架构 面试 springboot

技术债的前世今生

码猿外

架构设计 技术债 敏捷精益 软件架构治理

Neon 支持

Changing Lin

9月日更

Redis核心原理与实践--字符串实现原理

binecy

redis 书籍推荐 源码学习

Vue进阶(九十一):自定义指令

No Silver Bullet

Vue 9月日更

java疫情上报打卡小程序源码(毕设)

清风

毕业设计

在线JSON转Csharp工具

入门小站

工具

万字长文说透分布式锁

多颗糖

redis zookeeper 分布式 分布式锁 etcd

【VueRouter 源码学习】第二篇 - 路由的配置和使用

Brave

源码 vue-router 9月日更

关于提升视野的一些想法

姬翔

9月日更

10. 大数据--人工智能的基石

Databri_AI

人工智能

Go- 反射

HelloBug

reflect Go 语言

Apache Tomcat被曝重大漏洞,影响过去13年的所有版本_安全_万佳_InfoQ精选文章