org.apache.dubbo:dubbo 组件安全漏洞及健康度分析

文章更新时间:2023年8月25日 14:30

org.apache.dubbo:dubbo

组件简介

维护者apache组织许可证类型Apache-2.0
首次发布2014年10月30日最新发布时间2023年7月31日
GitHub Star39298GitHub Fork26130
依赖包235依赖存储库3,209

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

“Dubbo3 已在阿里巴巴内部微服务集群全面落地,成功取代运行多年的 HSF 框架。”

官网:https://cn.dubbo.apache.org/zh-cn/

仓库地址:https://github.com/apache/dubbo

参考链接:

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/org.apache.dubbo:dubbo

组件健康度

技术健康度该组件是一个高性能、基于Java的开源RPC框架,具有内置的服务发现、流量管理、可观察性、安全特性、工具和最佳实践,用于构建企业级的微服务。它支持多种协议,如HTTP/2, gRPC, REST, Thrift, TCP等。它还提供了丰富的扩展点,如Filter, Router, Service Discovery, Configuration等。它的设计目标是低延迟、高吞吐量和高可扩展性。从技术角度来看,该组件具有较高的健康度。
社区健康度该组件是Apache软件基金会的顶级项目,拥有活跃的开发者和用户社区。它的GitHub仓库有超过3.8万个星标,1.4万个分支,1.3万个提交和2.5万个问题。它还有一个官方网站,提供了快速入门指南和文档,以及一个维基页面,提供了新闻、常见问题和发布说明。它还有一个邮件列表,用于讨论开发和使用相关的话题。从社区角度来看,该组件具有较高的健康度。
更新和维护频率该组件的最新版本是3.2.5,于2023年7月31日发布。该版本修复了一些bug,增加了一些特性,如支持Dubbo Mesh Proxyless模式、支持Dubbo Spring Cloud Starter等。该组件的发布周期大约为一个月左右。从更新和维护角度来看,该组件具有较高的健康度。
兼容性该组件支持多种语言的SDK,如Java, Go, Rust, Node.js, Python等。它还支持在单一端口上发布不同协议的服务。它还支持与Istio控制平面治理系统无缝接入。它还支持基于TLS的传输链路认证和加密通信,以及基于请求身份的权限验证。从兼容性角度来看,该组件具有较高的健康度。
文档和支持该组件提供了详细的文档,包括用户手册、开发者指南、最佳实践、常见问题等。文档分为Dubbo 2.7和Dubbo 3.0两个版本。文档内容清晰、完整、易于理解。该组件还提供了一些示例代码,演示了如何使用不同的特性和配置。此外,用户还可以通过邮件列表、GitHub问题或Stack Overflow等渠道寻求帮助和支持。从文档和支持角度来看,该组件具有较高的健康度。

综上所述,org.apache.dubbo:dubbo 该组件是一个优秀的RPC和微服务框架,具有较高的技术水平、社区活力、更新频率、兼容性和文档质量。

参考链接:

https://cn.dubbo.apache.org/en/

https://cn.dubbo.apache.org/en/docs/

https://github.com/apache/dubbo-samples

许可证解读

Apache License 2.0 是一种开源软件许可证,广泛用于授权开源项目和代码。Apache License 2.0 允许用户自由地使用、修改和分发受许可的软件,而无需支付版权费用或专利费用。它鼓励开发者共享他们的代码,并保护用户的权利。以下是该许可证的一些重要特点:

  1. 代码使用权:用户可以自由地使用、复制、修改、合并、发布、分发和销售受许可软件。
  2. 版权声明:用户必须在所有源代码副本中保留原始的版权声明、许可证声明和免责声明。
  3. 修改代码:如果用户对代码进行了修改,需要清楚标明哪些部分发生了变化,并不能暗示原作者同意这些修改。
  4. 商标使用:Apache License 2.0 并未授予使用原软件的任何商标或名称的权利。
  5. 专利许可:该许可证授予了在使用、修改或分发受许可软件时相关专利的非独占许可。这意味着如果用户授权其他人使用该软件,相关专利许可也会传递给接收方。
  6. 再许可:用户可以将受 Apache License 2.0 许可的代码作为一部分整合到其它开源项目中,并使用不同的许可证授权整个项目。但是,需要在代码中显式地说明使用了 Apache License 2.0 许可的部分。

需要注意的是,Apache License 2.0 并不保证软件没有缺陷或不稳定性,使用该软件的风险由用户自行承担。

许可证原文链接:https://github.com/apache/dubbo/blob/3.2/LICENSE

组件漏洞版本及修复方案

漏洞编号漏洞标题漏洞等级影响版本修复版本
MPS-2023-1779Apache Dubbo 存在反序列化漏洞中危[2.7.0,2.7.22)2.7.22
MPS-2021-7664Apache Dubbo 泛化调用远程代码执行漏洞严重[2.7.0,2.7.10)2.7.10
MPS-2021-0355Apache Dubbo 存在反序列化漏洞严重[2.5.0,2.6.9)2.6.9

同类可替代组件

  • Spring Cloud:它是一个基于Spring Boot的微服务框架,提供了服务发现、配置管理、断路器、负载均衡、路由、分布式跟踪等功能。官网:https://spring.io/projects/spring-cloud/
  • gRPC:它是一个基于HTTP/2和Protocol Buffers的高性能、跨语言的RPC框架,支持双向流、认证、拦截器、负载均衡等功能。官网:https://grpc.io/
  • Apache Thrift:它是一个基于二进制协议的轻量级、跨语言的RPC框架,支持多种传输层和服务层协议,如TCP, HTTP, TBinaryProtocol, TJSONProtocol等。官网:https://thrift.apache.org/
  • Node.js:它是一个基于JavaScript的异步、事件驱动的平台,用于构建高性能、可扩展的网络应用和微服务。官网:https://nodejs.org/
  • Kubernetes:它是一个开源的容器编排系统,用于自动化应用部署、扩缩容、管理和服务发现。官网:https://kubernetes.io/

组件SBOM

io.fabric8:kubernetes-model-autoscaling6.8.1maven
org.apache.dubbo:dubbo-config-spring3.2.6-SNAPSHOTmaven
org.springframework:spring-core5.3.25maven
io.zipkin.brave:brave5.14.1maven
org.junit.jupiter:junit-jupiter-api5.9.3maven
org.mockito:mockito-core4.11.0maven
org.springframework:spring-web5.3.25maven
org.apache.yetus:audience-annotations0.5.0maven
org.apache.commons:commons-lang33.12.0maven
io.fabric8:kubernetes-model-coordination6.8.1maven
org.apache.dubbo:dubbo-metadata-processor3.2.6-SNAPSHOTmaven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1694966986718404608/1694966989734109184?allow=1

(0)
上一篇 2023年8月24日 下午6:27
下一篇 2023年8月25日 下午4:57

相关推荐