当前位置: 首页 > 知识库问答 >
问题:

SpEL DoS漏洞CVE-2022-22950的前提条件?

童花蜂
2023-03-14

我对CVE-2022-22950和相应的Spring建议有点困惑。后者表示,可以通过以下方式利用该漏洞:

[…]巧尽心思构建的SpEL表达式[…]

但是,允许用户制作SpEL表达式的应用程序允许这些用户做几乎任何事情。包括代码注入,它对机密性、完整性和可用性有充分的影响。这里还有很多其他DoS机会。以这个SpEL片段为例,它执行pwd命令:

T(java.lang.Runtime).getRuntime().exec("pwd")

这个命令是相当无害的,但它可以被任何东西替代!现在,SpEL支持不同的EvaluationContext,可用于限制SpEL表达式中允许的内容。E、 g.SimpleEvaluationContext禁止类型表达式,如上面的SpEL代码片段中的表达式。

这就引出了两组问题:

>

  • CVE-2022-22950是否与对受污染的SpEL表达式使用无限制的计算上下文的应用程序相关
    例如,应用程序对所选用户(如管理员)的信任程度足以允许他们执行任意代码?或者,理想情况下,是否有额外的沙盒措施
    在这种情况下(尽管可能有问题),此DoS漏洞似乎不会给游戏添加任何新内容。改进安全建议并警告不要在许可的评估上下文中处理用户控制的SpEL代码,这有意义吗?

    CVE-2022-22950真的需要“特制的SpEL表达式”吗
    或者攻击者是否可以通过手工制作数据来利用此DoS漏洞,这些数据将由无害的SpEL表达式处理?E、 g.向使用硬编码SpEL表达式处理查询参数的web应用程序发送一长串查询参数
    当我查看代码更改时,似乎手工制作数据就足够了?如果是这样,则应调整安全咨询的措辞!


  • 共有1个答案

    越嘉茂
    2023-03-14

    查看原始咨询(中文翻译)-https://4ra1n.love/post/Xrym_ZDj3/

    似乎利用此漏洞确实需要评估任意SpEL表达式。但是-即使在使用通常被认为是安全的(或至少比Evalue ationContext更安全)的SimpleEvalue ationContext时,它也允许DoS,例如即使在评估任意表达式时也不允许RCE。但是有了这个漏洞,它将允许DoS。

    公告中显示的易受攻击的代码-

    SpelExpressionParser parser = new SpelExpressionParser();
    Expression expr = parser.parseExpression("new int[1024*1024*1024][2]");
    SimpleEvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build();
    expr.getValue(context);
    
     类似资料:
    • 该版本现已分配给CVE-2022-22965。除了下面的好答案之外,请查看Spring Framework RCE:早期发布,因为它是本期最可靠和最新的网站。 根据不同的来源,我们在使用Spring Core库时似乎遇到了严重的安全问题。 https://securityboulevard.com/2022/03/new-spring4shell-zero-day-vulnerability-co

    • 我目前的项目完全与大量Spring Boot容器对接。它们中的大多数都是使用log4j2(对于java8,小于2.7)版本构建的。如何充分证明来自JNDI攻击CVE-2021-45105的应用程序? 我知道最好的解决方案是用log4j版本重建这些容器,但这需要时间和预算。 但是,如果我使用下面的命令,在docker compose级别为每个容器禁用查找功能,它能工作吗? “JVM_EXTRA_OP

    • 我正在做一个Spring Boot项目,我正在检查它是否与这个漏洞有关,我没有任何Log4j核心依赖,但是我正在使用Hibernate核心5.0.12,它使用jboss日志3.3.1 当我检查jboss日志依赖时,我看到log4j: 先谢谢你

    • 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 提权,顾名思义就是提高自己在服务器中的权限,就比如在 Windows 中你本身登录的用户是 guest,通过提权后就变成超级管理员,拥有了管理 Windows 的所有权限。提权是黑客的专业名词,一般用于网站入侵和系统入侵。本讲义所讲的是基于 WebShell 的菜刀管理下提权。 基本 Dos 命令、常识 whoami:查看当

    • 描述中说: 在2020-11-10之前的Rust模型箱中发现了一个问题。共享数据结构具有发送和同步特征的实现,而不考虑内部类型。 什么是模型板条箱?抱歉,如果它的愚蠢的问题,但我是新的CVE漏洞。

    • 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 任意密码找回 这是补天平台上的一个案例: http://www.118114.cn/reg.jsp 首先注册一个账号,然后找回。 我们收到的验证码是六位数。如果网站没有设置频率限制,或者最大尝试次数限制的话,那我们自然就会想到可以爆破它。 然后抓提交手机验证码的封包,我们可以看到没有任何图片验证码: 发送到 Burp 的 I