点击上方“Java精选”,选择“设为星标”

别问别人为什么,多问自己凭什么!

下方有惊喜留言必回,有问必答!

每天 08:15 更新文章,每天进步一点点...

最近的 Log4j 2 漏洞想必大家都知道了,不知道的可以看看这篇文章回忆一下,11月9日晚开源项目 Apache Log4j 2 的一个远程代码执行漏洞的利用细节被公开,随着Apache Log4j 2.15.0正式版发布,该漏洞已得到解决。

然而,安全公司 Praetorian在博客宣布,他们在Apache Log4j 2.15.0版本又发现了一个远程数据泄露的漏洞,可用于从受影响的服务器下载数据。

Praetorian 表示,他们已将该问题的技术细节传递给Apache基金会,但在此期间,Praetorian建议用户尽快升级到2.16.0。Praetorian将实行负责任的披露,因此目前不会公开分享技术细节,以免出现更大的问题。

升级2.16.0内容

1)LOG4J2-3208: 默认禁用JNDI。 需要设置为以允许JNDI。 LOG4J2-3211: 完全删除对消息查找的支持。

2)Apache Log4j 2.16.0至少需要Java 8才能构建和运行。Log4j 2.12.1是最后一个支持Java 7的版本。Java 7不是Log4j 团队的长期支持版本。

万万没想到Log4j 2.16.0又爆雷,存在DOC攻击漏洞

本来以为经过上周的2.16.0版本升级,Log4j 2的漏洞修复工作,此事基本上都要告一段落了。真是没想到在上周,Log4j官方又发布了新版本2.17.0。

Maven仓库最新的Apache Log4j 2 2.17.0 版本,标记出了历史版本中包含的漏洞数量及漏洞详情:

该版本主要修复安全漏洞:CVE-2021-45105

影响版本: 2.0-alpha1至2.16.0(1.x用户继续忽略)

该漏洞只有当日志配置使用带有Context Lookups的非默认Pattern Layout,例如$${ctx:loginId}时,攻击者可以通过构造包含递归查找的恶意输入数据,触发无限循环,导致StackOverflowError,最终进程崩溃。

注意此次漏洞受影响的只有log4j-core,仅使用log4j-api的程序不需要担心。所以,大家可以通过升级log4j-core来修复该漏洞。

org.apache.logging.log4jgroupId>
log4j-coreartifactId>
2.17.0version>
dependency>

如果公司目前要求不能升级版本的话,可以采用以下两种方法临时来解决漏洞:

方式一: 在日志配置的PatternLayout中,用%X、%mdc或%MDC来替换${ctx:loginId}或$${ctx:loginId}等Context Lookups。

方式二: 在使用外部数据HTTP Header或用户输入等的位置,删除对Context Lookups的引用,例如${ctx:loginId} 或$${ctx:loginId}。

众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

------ THE END ------

精品资料,超赞福利!

3000+ 道 BAT 大厂面试题在线刷,最新、最全 Java 面试题!

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

期往精选 点击标题可跳转

技术交流群!

最近有很多人问,有没有读者&异性交流群,你懂的!想知道如何加入。加入方式很简单,有兴趣的同学,只需要点击下方卡片,回复“加群”,即可免费加入交流群!

文章有帮助的话,在看,转发吧!