《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
又来了。。Log4j2 这是中了新冠的毒?
这次又爆出来新的 DOS 拒绝服务攻击漏洞。。
如果你想关注和学习最新、最主流的 Java 技术,可以持续关注Java技术栈,第一时间推送。
安全漏洞:CVE-2021-45105
===================
漏洞摘要
====
Log4j 团队又获悉了一个重要的安全漏洞 CVE-2021-45105:
该漏洞已在支持 Java 8+ 版本的 Log4j 2.17.0 中得到解决,请尽快升级。
漏洞详情
====
因没有防止自引用 lookups 的不受控制的递归,当日志配置使用带有上下文 Lookup 的非默认模式,例如:
$${ctx:loginId}
此时,攻击者可以制作包含递归查找的恶意输入数据,导致 StackOverflowError 错误而终止进程,这也就是 DOS(Denial of Service)拒绝服务攻击。
从 Log4j 2.17.0 版本开始,只有配置中的 lookup 字符串才允许递归扩展,另外,在任何其他用法中,仅解析最顶级的 lookup,不解析任何嵌套的 lookups。
解决方案
====
1、升级版本
======
立马升级到最新版本:Log4j 2.17.0
最新正式版本下载:
https://logging.apache.org/log4j/2.x/download.html
最新 Maven 依赖:
org.apache.logging.log4j
log4j-core
2.17.0
spring-boot-starter-log4j2 尚未更新,可以先覆盖其内置版本:
<log4j2.version>2.17.0</log4j2.version>
Spring Boot 基础就不介绍了,推荐下这个实战教程:
https://github.com/javastacks/spring-boot-best-practice
另外,Spring Boot 也在跟进此漏洞,界时新版本可以连带解决,等新版本发布,栈长再给大家解读,Java技术栈第一时间推送,不要走开哦。
2、临时解决
======
如果你不想升级版本,可以考虑使用以下 2 种临时解决方案:
最后
ActiveMQ消息中间件面试专题
- 什么是ActiveMQ?
- ActiveMQ服务器宕机怎么办?
- 丢消息怎么办?
- 持久化消息非常慢怎么办?
- 消息的不均匀消费怎么办?
- 死信队列怎么办?
- ActiveMQ中的消息重发时间间隔和重发次数吗?
ActiveMQ消息中间件面试专题解析拓展:
redis面试专题及答案
- 支持一致性哈希的客户端有哪些?
- Redis与其他key-value存储有什么不同?
- Redis的内存占用情况怎么样?
- 都有哪些办法可以降低Redis的内存使用情况呢?
- 查看Redis使用情况及状态信息用什么命令?
- Redis的内存用完了会发生什么?
- Redis是单线程的,如何提高多核CPU的利用率?
Spring面试专题及答案
- 谈谈你对 Spring 的理解
- Spring 有哪些优点?
- Spring 中的设计模式
- 怎样开启注解装配以及常用注解
- 简单介绍下 Spring bean 的生命周期
Spring面试答案解析拓展
高并发多线程面试专题
- 现在有线程 T1、T2 和 T3。你如何确保 T2 线程在 T1 之后执行,并且 T3 线程在 T2 之后执行?
- Java 中新的 Lock 接口相对于同步代码块(synchronized block)有什么优势?如果让你实现一个高性能缓存,支持并发读取和单一写入,你如何保证数据完整性。
- Java 中 wait 和 sleep 方法有什么区别?
- 如何在 Java 中实现一个阻塞队列?
- 如何在 Java 中编写代码解决生产者消费者问题?
- 写一段死锁代码。你在 Java 中如何解决死锁?
高并发多线程面试解析与拓展
jvm面试专题与解析
- JVM 由哪些部分组成?
- JVM 内存划分?
- Java 的内存模型?
- 引用的分类?
- GC什么时候开始?
JVM面试专题解析与拓展!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
内存划分?
- Java 的内存模型?
- 引用的分类?
- GC什么时候开始?
JVM面试专题解析与拓展!
[外链图片转存中…(img-AjJzQKzd-1714513856905)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!