Apache Tomcat 信息泄露漏洞CVE-2023-28708处理

一、漏洞描述

在这里插入图片描述

Apache Tomcat软件是Jakarta Servlet、 Jakarta Server Pages、 Jakarta Expression Language、 Jakarta WebSocket、 Jakarta Annotations和 Jakarta Authentication 规范的开源实现 。Apache Tomcat实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。Tomcat 服务器作为一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。2023 年 3 月 22日安全机构发布 Apache Tomcat 存在安全漏洞,该漏洞源于用户代理能通过不安全的通道传输会话 cookie导致信息泄露,相关分析这是由于在请求https的时候可重定向到http连接,这个过程会导致会话劫持风险,造成Cookie或Session不安全传输,攻击者可利用该漏洞可在未授权的情况下泄漏 Cookie 或 Session,最终造成服务器敏感性信息泄露。

基本信息:漏洞类型敏感信息泄露
CVE编码:CVE-2023-28708
cvss评分:4
威胁等级:中危
公布时间:2023-03-22 00:00:00
影响范围:现场版本为 tomcat 9.0.46

11.0.0-M1 ≤ Apache Tomcat ≤ 11.0.0-M2
10.1.0-M1 ≤ Apache Tomcat ≤ 10.1.5
9.0.0-M1 ≤ Apache Tomcat ≤ 9.0.71
8.5.0 ≤ Apache Tomcat ≤ 8.5.85

二、漏洞处理

1)版本确认

#Windows 执行:
catalina version#linux
sh ./bin/version.sh

2)官方修复建议

当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。各个版本链接如下:

Apache Tomcat 11系列: https://tomcat.apache.org/download-11.cgi

Apache Tomcat 10系列: https://tomcat.apache.org/download-10.cgi

Apache Tomcat 9系列: https://tomcat.apache.org/download-90.cgi

Apache Tomcat 8系列: https://tomcat.apache.org/download-80.cgi

因现场使用tomcat 9.0.46,升级到最新版即:9.0.76,考虑到厂商环境,暂升级到9.0.75版;

另可参考官方的修复commit:

3)升级

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.75.tar.gz
tar -xzf apache-tomcat-9.0.75.tar.gz
#备份
cp -r /tomcat9/bin/ /tomcat9/bin_bak
cp -r /tomcat9/lib/ /tomcat9/lib_bak#停止老版本tomcat
sh /tomcat9/bin/shutdown.sh#替换
mv apache-tomcat-9.0.75 apache-tomcat-9
mv /tomcat9/bin /tomcat9/bin_old
mv /tomcat9/lib /tomcat9/lib_old
cp ./apache-tomcat-9/bin /tomcat9/
cp ./apache-tomcat-9/lib /tomcat9/#开启热加载和热部署
vim ./tomcat9/conf/server.xml  #Host标签中加上一个配置
<Context docBase="xxx" path="/xxx" reloadable="true"/>   #reloadable="true"
……
<Context docBase="xxx" path="/xxx" autoDeploy="true"/>    #autoDeploy="true",开启热部署#.启动新版本tomcatsh /tomcat9/bin/startup.sh#验证
sh /tomcat9/bin/version.sh

三、附录

1)热加载 vs 热部署

热加载: 热加载的实现的方式在Web容器中启动一个后台线程,定期检测相关文件的变化,如果有变化就重新加载类,这个过程不会清空Session。过程中,服务器会监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。Tomcat默认情况下是不开启热加载的。

热部署: 热部署是在Web应用后台线程定期检测,发现有变化就会重新加载整个Web应用,这种方式会彻底会清空Session。这种方式整个项目就相当于从新部署,包括从新打个.war 文件。 会清空session ,释放内存。Tomcat在启动的时候会将其目录下webapp中war包解压后然后封装为一个Context供外部访问。那么热部署就是在程序运行时,如果我们修改了War包中的东西。那么Tomcat就会删除之前的War包解压的文件夹,重新解压新的War包。项目打包的时候用的多。热部署更多的是在生产环境中使用,就是适用于频繁的部署并且启动耗时长的应用、无法停止服务的应用等。开发环境可直接在Eclipse的Server里面直接配置publishing。

更多参看:https://blog.csdn.net/qq_24313635/article/details/114281148

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kong 服务和路由的添加

管理服务 这里参考DB-less-Mode&#xff0c;因为使用的是yaml配置文件的形式&#xff0c;所以所有的相关配置只需要往初始化的kong.yml文件中添加就可以了&#xff0c;就像nginx的配置文件 DB-less-Mode 创建服务 vim /etc/kong/kong.yml services: - name: my-service #…

flutter开发实战-底部bottomNavigationBar➕PageView

flutter开发实战-底部bottomNavigationBar tabbar在app中非常常见&#xff0c;底部BottomNavigationBar属性 一、BottomNavigationBar属性 BottomNavigationBar组件的常用属性&#xff1a; type&#xff1a;tabbar样式&#xff0c;默认为白色不显示&#xff1b;fixedColor:t…

SkipList

文章目录 SkipList理解跳表从单链表说起查找的时间复杂度空间复杂度插入数据更高效的方式维护索引代码实现索引的抽取概率算法 举例插入元素 删除数据总结为什么Redis选择使用跳表而不是红黑树来实现有序集合 SkipList 理解跳表从单链表说起 在原始单链表中查找元素&#xff…

JavaScript--修改 HTML 元素

这些是一些用于修改 HTML 元素的常见方法&#xff1a; 1、document.createElement(element)&#xff1a;创建 HTML 元素节点。可以使用这个方法创建一个新的 HTML 元素&#xff0c; 例如 document.createElement(div) 将创建一个 <div> 元素节点。 2、document.createA…

【探索AI未来】人工智能技术在软件开发中的应用与革新

自我介绍⛵ &#x1f4e3;我是秋说&#xff0c;研究人工智能、大数据等前沿技术&#xff0c;传递Java、Python等语言知识。 &#x1f649;主页链接&#xff1a;秋说的博客 &#x1f4c6; 学习专栏推荐&#xff1a;人工智能&#xff1a;创新无限、MySQL进阶之路、C刷题集、网络安…

postgresql还原bak

1、第一步肯定是要新建自己还原的目标数据库&#xff0c;例如&#xff1a; 2、进入postgresql的安装目录下的bin目录下 然后地址栏输入cmd进入命令 输入以下 psql -h localhost -U postgres -p 5432 -d SamsinoYardStandard_karamay -f "D:\desktop\zk\20230628.bak&quo…

VQA评测evaluation代码:gqa / aokvqa / vqav2 / scienceQA

VQA评测分多种&#xff0c;这里提几种&#xff0c;代码参考来自lavis和mmpretrain。 一、gqa评测&#xff08;只有一个answer&#xff09; 数据集下载及格式&#xff1a; blip中json地址 图片下载 # gqa格式已重新整理&#xff0c;特点是每个question对应的gt_answers只有一…

Python自动化之pytest常用插件

目录 1、失败重跑 pytest-rerunfailures 2、多重校验 pytest-assume 3、设定执行顺序 pytest-ordering 4、用例依赖&#xff08;pytest-dependency&#xff09; 5.分布式测试(pytest-xdist) 6.生成报告&#xff08;pytest-html&#xff09; 1、失败重跑 pytest-rerunfailu…

Unity游戏源码分享-Unity5.4.1打砖块游戏Breakout_Game_Starter_Kit

Unity5.4.1打砖块游戏Breakout_Game_Starter_Kit 童年的回忆 项目地址&#xff1a;https://download.csdn.net/download/Highning0007/88042779Unity游戏源码分享-

SpringCloud——消息总线Bus

SpringCloud Bus将分布式系统的节点与轻量级消息系统链接起来的框架&#xff0c;是对SpringCloud Config的加强&#xff0c;广播自动版的配置。 支持两种消息代理&#xff1a;RabbitMQ和Kafka 一、创建工程&#xff0c;添加依赖 spring-cloud-starter-config spring-cloud-st…

(转载)从0开始学matlab(第1天)—变量和数组

MATLAB 程序的基本数据单元是数组。一个数组是以行和列组织起来的数据集合&#xff0c;并且拥有一个数组名。数组中的单个数据是可以被访问的&#xff0c;访问的方法是数组名后带一个括号&#xff0c;括号内是这个数据所对应行标和列标。标量在 MATLAB 中也被当作数组来处理——…

centos 配置好网络后无法ping 通百度

问题&#xff1a; ping 自己配置的ip地址能够ping通&#xff0c;ping 连接的WiFi &#xff08;可以上外网&#xff09;地址也能ping通&#xff0c;但是ping www.baidu.com 却ping不同&#xff1b; 配置 处理方法&#xff1a; 我的虚拟机开通了三张网卡&#xff0c;150段…