【安全公告】Spring Framwork远程命令执行漏洞预警

0收藏

0点赞

浏览量:475

2022-04-11

举报

【安全公告】Spring Framwork远程命令执行漏洞预警

【安全公告】Spring Framwork远程命令执行漏洞预警

聚铭安全课堂

聚铭安全课堂

信息安全学习分享平台

一、漏洞概况

3月29日,Spring框架曝出框架远程命令执行漏洞,攻击者利用该漏洞,可在未授权的情况下远程执行命令。

作为目前全球最受欢迎的Java轻量级开源框架,Spring允许开发人员专注于业务逻辑,简化Java企业级应用的开发周期。

但在Spring框架的JDK9版本(及以上版本)中,远程攻击者可在满足特定条件的基础上,通过框架的参数绑定功能获取AccessLogValve对象并注入恶意字段值,从而触发pipeline机制并写入任意路径下的文件。

这次确定spring核心框架的RCE漏洞,CVE号为CVE-2022-22965。

目前官网也及时给出了修复包,可以在文末的网址更新存在漏洞的spring版本。

二、漏洞分析

【1.漏洞原理】

在web请求中,如http://127.0.0.1:80/index?id=10,当服务器收到这个请求的时候,对于id这个参数的处理,需要查找id的class属性名(即这个id的数据类型),并把10这个值赋给这个class。spring框架的处理逻辑是:收到这个请求之后加载我们定义好的id的class类文件,然后在内存中写上这个变量id=10。

但是实际用函数实现的时候,spring框架接收到id这个变量的时候,先在cache缓存中查找相关变量,如果未查到,再初始化id这个数据结构。

问题在于对缓存中的变量访问是没有限制的,逻辑上只要我们请求的参数名称在cache中,那么就会直接对cache的变量进行赋值。

日志函数通常会执行定时写任务,写的内容都是结构化的数据:文件后缀名、文件路径......这些结构化数据都是存放在cache中的。

利用上述的逻辑,我们可以直接修改cache缓存中日志函数变量,实现写入我们想要写入的文件的目的。

【2.漏洞思路】

1). 在上传web参数时将参数名设置成日志函数存在cache中的变量名,日志函数执行写入操作时即可以写入任意名称的文件到web的根目录下面;

2). 通过改造web请求包,向文件写入可执行代码,作为后门以供使用;

3). 在web请求中访问恶意页面文件,上传执行命令。

三、缓解措施

目前,聚铭安全产品已支持检测该漏洞的检测

建议受漏洞影响的产品(服务)厂商和信息系统运营者尽快进行自查,并及时升级至最新版本:

https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

四、声明

本安全公告仅用来描述可能存在的安全问题,不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。













(来源:知乎)

(参考链接:https://zhuanlan.zhihu.com/p/491989096

发表评论

点击排行

提醒 | 这144个涉诈APP,请赶快卸载!

近日,公安机关经对电信网络诈骗案件梳理,发现大量仿冒手机APP均为涉诈软件。内容涵盖社交、贷款、投资、...

俄乌网络战争态势浅析

       随着信息技术的不断发展,“云、大、物、移、AI”等新技术给人们的生活带来了极...

7月30日每日安全热点 - 南非物流公司 Transnet SOC 遭受勒索软件攻击

漏洞 Vulnerability趋势科技Apex One多个高危漏洞https://success.trendmicro.com/solution/000287819...

ISC 2021:360政企安全集团生态合作伙伴大会召开 360安全大脑联盟正式成立

7月28日,360政企安全集团生态合作伙伴大会在北京国家会议中心成功召开。来自全国各地的政企行业领导、业内...

坚决反对美国蓄意发动“网络卢沟桥事变”!

来源丨环球时报、补壹刀包括美国、欧盟、英国、澳大利亚、加拿大、新西兰、日本和北约在内的多国和组织19日...

【安全圈】绿媒爆料台湾百余“高层政要”通讯软件被黑

关键词通讯软件、黑客入侵台湾亲绿媒体《自由时报》28日爆料称,包含台“府院”、军方、县市长及“朝野政党”等...

美国国防承包商如何爱上这位漂亮的美女健美操教练并让他们的电子邮件被黑客入侵

文章来源:红数位一个位于伊朗的黑客组织花了大约一年半的时间开展了一场黑客活动,他们伪装成美女有氧运动...

扫描二维码下载APP