Spring Cloud Function SpEL注入漏洞(CVE-2022-22963)分析

一、概述

2022年3月24日,Pivotal修补了Spring Cloud Function中一个关键的服务器端代码注入漏洞(Spring表达式语言注入),该漏洞有可能导致系统被攻击。Spring是一种流行的开源Java框架,该漏洞与另一个相关的远程代码执行(RCE)漏洞(Spring Core,即“Spring4Shell”)均可通过Akamai Adaptive Security Engine (ASE) Kona Site Defender (KSD)规则集有效防御。

本文将重点分析Spring Cloud漏洞,有关Spring Core漏洞的详情请参阅这里。

Spring Cloud Function技术可实现业务逻辑与特定运行时之间的解耦。Spring表达式语言(SpEL)作为一种强大的表达式语言,已在各类Spring产品中实现了广泛应用,支持在运行时查询和操作对象图。过去,当应用程序以不安全的方式评估不受信任的用户输入的代码表达式时,很多远程代码执行方面的常见漏洞和暴露(CVE)都是围绕SpEL注入产生的(参见图1)。

图1:GitHub上的Spring Cloud Function代码路径

几天后,3月26日,GitHub用户“cckuailong”发布了一个概念验证漏洞,展示了对该漏洞的成功利用(图2)。

图2:公开的概念证实利用

随后不到一天的时间里,Akamai就观察到整个互联网上开始出现相关利用。

图3:3月27日开始的利用企图(来源:某客户的Akamai Web Security Analytics分析结果)

与Log4j类似,很多(并非全部)当前企图都是“Ping Back”类型的探测,攻击者只是在能够成功利用的情况下发出一个信标。

我们已经观察到全球各地的数千个IP地址开始发送有效载荷,其中大部分来自虚拟专用网络以及托管在公有云中的Web代理。

二、漏洞

通过补丁程序逆推可知,该漏洞可通过“spring.cloud.function.routing-expression”HTTP头来接收SpEL表达式,进而方便应用程序进行路由。

但代码中并不检查要评估的表达式是否应该通过HTTP头来接收。为修复该问题,添加了一个额外的headerEvalContext,它也是SimpleEvaluationContext的一部分。

三、使用KSD自适应安全引擎加以缓解

Akamai自适应安全引擎(ASE)可通过广泛的内置规则来检测命令注入,因为很多此类攻击的目标都是执行操作系统级别的命令。ASE能够利用现有命令注入规则检测到这个零日攻击:

此外下列Kona Site Defender规则集也可以缓解相关攻击:

  • 3000041 – 服务器端模板注入
  • 3000156 – CMD注入检测(PHP High-Risk Functions)

四、总结

虽然Spring Cloud Function的使用不像Log4j那么广泛,但这个漏洞易于利用的特点依然会吸引很多攻击者。Akamai预计该漏洞会引发很多以数字货币盗挖、DDoS攻击、勒索软件为目标的攻击,并且可能成为未来很长一段时间里潜入组织内网的有效途径。不过Akamai客户已经可以通过Akamai Adaptive Security Engine和Kona Site Defender规则集获得充分保护。

Akamai的威胁研究团队也将继续监控该漏洞的发展,并在出现新情况后及时通知大家。欢迎关注Akamai知乎机构号,第一时间了解最新近况。

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

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

相关文章

数据结构【线性表篇】(四)

数据结构【线性表篇】(四) 文章目录 数据结构【线性表篇】(四)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件? 目录一、栈(一)、栈的顺序存储(二)、栈的链式存储(三)、共享栈 二、队列(一)、队列的顺序存储(二)、队列的…

windows go环境安装 swag

windows 下载依赖包 go get github.com/swaggo/swag/cmd/swag编译swag cd $GOPATH\pkg\mod\github.com\swaggo\swagv1.16.2\cmd\swagps: go env 获取 GOPATH位置 go installps: 此时 $GOPATH\bin下出现了 swag.exe 项目根目录下执行swag 初始化 swag init生成结果

RK3588取经之路【序章】2024/01/01

文章目录 RK3588取经之路【序章】关于本文的规划 开篇开发板整体图外设介绍 结束 RK3588取经之路【序章】 2023年前入手买了这个广州英码出场的一款开发板EVM3588-A24EG-C-B2AA(裸板),花了2800左右,是不是脑子有点毛病&#xff0…

作业--day39

定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算符、条件运算…

[新版Hi3531DV200 性能强悍]

新版Hi3531DV200 性能强悍 Hi3531DV200是针对多路高清/超高清(1080p/4M/5M/4K)DVR产品应用开发的新一代专业SoC芯片。Hi3531DV200集成了ARM A53四核处理器和性能强大的神经网络推理引擎,支持多种智能算法应用。同时,Hi3531DV200还…

【MySQL】数据库中为什么使用B+树不用B树

🍎个人博客:个人主页 🏆个人专栏: 数 据 库 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 B树的特点和应用场景: B树相对于B树的优势: 结论: 结语 我的其他博客 前言 在数据…

桉木芯建筑模板与其他材质比较有何不同?

在建筑行业中,模板的选择对于确保工程质量和效率至关重要。桉木芯建筑模板作为市场上的一种选择,与其他材质的模板相比,具有独特的优势。能强优品木业作为专业的桉木芯建筑模板生产厂家,其产品充分展示了这一材质的优越性能。 材质…

基于Java SSM框架实现医院挂号系统项目【项目源码+论文说明】

基于java的SSM框架实现医院挂号上班打卡系统演示 摘要 在网络发展的时代,国家对人们的健康越来越重视,医院的医疗设备更加先进,医生的医术、服务水平也不断在提高,给用户带来了很大的选择余地,而且人们越来越追求更个…

微信小程序自定义步骤条效果

微信小程序自定义一个步骤条组件,自定义文字在下面,已完成和未完成和当前进度都不一样的样式,可点击上一步和下一步切换流程状态,效果如下。 这是视频效果: 前端实现步骤条效果 下面我们一步步实现编码,自定…

Easy Rules规则引擎实战

文章目录 简介pom 规则抽象规则Rule基础规则BasicRule事实类Facts:map条件接口动作接口 四种规则定义方式注解方式RuleBuilder 链式Mvel和Spel表达式Yml配置 常用规则类DefaultRuleSpELRule(Spring的表达式注入) 组合规则UnitRuleGroup 规则引…

计算机网络物理层 习题答案及解析

2-1 下列选项中,不属于物理层接口规范定义范畴的是( D )。 A. 引脚功能 B. 接口形状 C. 信号电平 D. 传输媒体 【答案】D 【解析】 2-2 某网络在物理层规定,信号的电平范围为- 15V~15V , 电线长…

听GPT 讲Rust源代码--library/panic_unwind

File: rust/library/panic_unwind/src/seh.rs 在Rust源代码中,rust/library/panic_unwind/src/seh.rs这个文件的作用是实现Windows操作系统上的SEH(Structured Exception Handling)异常处理机制。 SEH是Windows上的一种异常处理机制&#xff…