Apache-Dubbo-CVE-2023-23638

admin 2023年5月20日22:26:12评论45 views字数 2147阅读7分9秒阅读模式

截至至今天公众号的总用户数已经过千了,感谢大家的支持

Dubbo概述

Dubbo是阿里巴巴开源的基于 Java 的高性能RPC(一种远程调用) 分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点以及别的公司的业务中。
简单的说,Dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有Dubbo这样的分布式服务框架的需求。
并且本质上是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在Dubbo上注册)

其核心部分包含:
1、远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
2、集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
3、自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

漏洞背景


Apache Dubbo 是一款易用、高性能的WEB 和RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。

该漏洞核心原理是利用dubbo的泛化调用功能,反序列化任意类,从而造成反序列化攻击。这个漏洞影响Apache Dubbo 2.7.x,2.7.21及之前版本;Apache Dubbo 3.0.x 版本,3.0.13 及之前版本;Apache Dubbo 3.1.x 版本,3.1.5 及之前的版本。

在普通的Dubbo方法调用过程中,客户端需要环境中存在被调用类的接口,才能正常继续调用。泛化调用则是指在客户端在没有服务方提供的 API(SDK)的情况下,对服务方进行调用,并且可以正常拿到调用结果。详细的泛化调用说明可以见:https://cn.dubbo.apache.org/zh-cn/overview/tasks/develop/generic/。

既然是泛化调用,那就代表用户可以在Dubbo服务端传入任意类。也正是因为这个功能,给Dubbo带来了一些漏洞,在CVE-2021-30179中,由于这个功能没有对传入的类做任何的限制,导致攻击者可以通过传入恶意的类,并调用其特定方法,导致代码执行。后续Dubbo在代码层面对传入的类进行了限制,从而防御攻击者传入恶意的类进行RCE,而这个防御,在CVE-2023-23638中被绕过,也就是本篇文章所要讲述的内容。

漏洞原理


Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。dubbo泛型调用存在反序列化漏洞,可导致恶意代码执行。

影响范围


受影响范围

  • Apache Dubbo 7.x<= 2.7.21

  • Apache Dubbo 3.0.x<= 0.13

  • Apache Dubbo 3.1.x<= 1.5


不受影响范围

  • Apache Dubbo >= 2.7.22

  • Apache Dubbo >= 3.0.14

  • Apache Dubbo >= 3.1.6

若版本在受影响范围内可能存在安全风险。


漏洞复现

  1. 注入字节码

Apache-Dubbo-CVE-2023-23638

  1. 命令执行

Apache-Dubbo-CVE-2023-23638

漏洞防护


  • 官方升级

目前官方已针对该漏洞发布修复版本,建议受影响的用户及时更新升级到最新版本,下载链接:https://github.com/apache/dubbo/releases

注:为防止出现意外建议升级前做好数据备份。

  • 其他防护措施

1、关闭对公网开放的Dubbo服务端端口,仅允许可信任的IP访问。

https://vip.riskivy.com/detail/1633437675895787520

https://xz.aliyun.com/t/12396

https://github.com/thelostworldFree/Apache-Dubbo-CVE-2023-23638-exp


截至至今天公众号的总用户数已经过千了,感谢大家的支持

Apache-Dubbo-CVE-2023-23638

公众号平台共有,重在学习交流,不以任何盈利为目的,欢迎转载。


由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。公众号内容中部分攻防技巧等只允许在目标授权的情况下进行使用,大部分文章来自各大安全社区,个人博客,如有侵权请立即联系公众号进行删除。若不同意以上警告信息请立即退出浏览!!!


敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

原文始发于微信公众号(巢安实验室):Apache-Dubbo-CVE-2023-23638

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月20日22:26:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Apache-Dubbo-CVE-2023-23638http://cn-sec.com/archives/1750042.html

发表评论

匿名网友 填写信息