Spring Cloud Function 远程代码执行漏洞安全风险通告
近日,vivo千镜安全实验室监测到Spring Cloud最新爆出了Spring Cloud Function SPEL表达式注入漏洞(CVE-2022-22963),外部已经公开漏洞POC、技术细节,经过安全团队分析,此漏洞影响范围较大,建议大家尽快做好安全筛查,及时更新官方补丁防护该漏洞。
一
漏洞描述
Spring Cloud Function 是基于Spring Boot 的函数计算框架(FaaS),当其启用动态路由functionRouter时, HTTP请求头 spring.cloud.function.routing-expression参数存在SPEL表达式注入漏洞,攻击者可通过该漏洞进行远程命令执行。
3.1.6 <= Spring Cloud Function <= 3.2.2
vivo千镜安全实验室已经成功复现该漏洞,如下:
安全工程师在排查时可以检查应用自身对spring-cloud-function组件的引用情况,并检查该组件当前使用的版本,若程序使用Maven打包,可查看项目的pom.xml文件中是否引入相关组件,如下图:
而对使用了org.springframework.cloud:spring-cloud-function-context 组件的项目代码,则可通过查看该项目所对应的 .iml 文件(.iml文件保存项目引用的所有组件版本信息),若受引用的组件版本在受影响范围内,则存在安全风险,如下图:
1. 官方升级:
目前官方已针对该漏洞发布了修复补丁,请安全工程师尽快更新到最新版本:
https://github.com/spring-cloud/spring-cloud-function/tags
官方补丁链接:
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
2. 更新spring-cloud-function-context-3.2.3.jar 到3.2.3及以上版本可缓解该漏洞,下载链接:
https://repo.maven.apache.org/maven2/org/springframework/cloud/spring-cloud-function-context/3.2.3/spring-cloud-function-context-3.2.3.jar
参考资料
https://tanzu.vmware.com/security/cve-2022-22963
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f