Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Security] Bump dubbo from 2.7.0 to 3.0.1 #277

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

dependabot-preview[bot]
Copy link

Bumps dubbo from 2.7.0 to 3.0.1.

Release notes

Sourced from dubbo's releases.

dubbo-3.0.1

Optimization

  • Refactor NameMapping to Metadata, Support application field in MigrationRule (#8089)
  • Add cache for scan result. (#8049)
  • Improve config overrides of method and argument (#8054)
  • Support servlet takeover mode (#8123)
  • Add ServiceListener for ServiceConfig (#8134)
  • Improve method callback (#8109)

BugFixs

  • Add force check (#8064)
  • Fix multi-registry will destroy unavailable clusters (#8074)
  • Remove needless toString convert & Enable checking by default (#8073)
  • Ignore invalid MetadataReportConfig (#8069)
  • Fix NPE when consumer start (#8080)
  • Fix some compatiable issues (#8112)
  • Optimize Service related issues (#8122)
  • Opt Migration & Fix reSubscribe for ServiceDiscovery (#8129)
  • Fix NPE in MetadataInfo (#8131)
  • Fix customizer not changed (#8137)

Code Improvement

Thanks for these contribution to improve stability of Apache Dubbo.

#8043, #8044, #8048, #8071, #8119, #8132

dubbo-3.0.0

The core functions of Dubbo 3.0

  • Application-level service discovery mechanism
  • The next generation RPC protocol: Triple
  • Brand new routing rule
  • Remarkable performance improvement
  • Kubernetes Service Integration

Branch difference

Most of the changes until the 03223c7 commit of master branch has been migrated to 3.0.0.

Upgrade compatibility

Compatible with almost all the same behavior as version 2.7.

Extensions

Some extensions of 3rd party SDK will not be provided in Dubbo Core Release, while we will provide dubbo-spi-extensions project to support these less frequently used extensions.

Currently supported extensions:

  • Zookeeper as registry, metadata-report, config-center 

... (truncated)

Changelog

Sourced from dubbo's changelog.

Release Notes

2.7.6

Features

Enhancement

  • Removing the internal JDK API from FileSystemDynamicConfiguration
  • Refactor the APT test-cases implementation of dubbo-metadata-processor in Java 9+
  • Remove feature envy
  • JsonRpcProtocol support Generalization
  • Reduce object allocation for ProtocolUtils.serviceKey
  • Reduce object allocation for ContextFilter.invoke

Bugfixes

  • Fixed bugs reported from 2.7.5 or lower versions, check 2.7.6 milestone for details.

Compatibility

  1. Filter refactor, the callback method onResponse annotated as @​Deprecated has been removed, users of lower versions that have extended Filter implementations and enabled Filter callbacks should be careful of this change.
  2. RpcContext added some experimental APIs to support generic Object transmission.

2.7.5

Features

  • Support HTTP/2 through gRPC, offers all features supported by HTTP/2 and gRPC
    • Stream communication: client stream, server stream and bi-stream.
    • Reactive stream style RPC call.
    • Back pressure based on HTTP/2 flow-control mechanism.
    • TLS secure transport layer.
    • Define service using IDL
  • Protobuf support for native Dubbo
    • Define service using IDL
    • Protobuf serialization
  • TLS for netty4 server
  • New SPI for dynamically adding extra parameters into provider URL, especially env parameters.
  • [BETA] Brand new Service Discovery mechanism: Service Reflection - instance (application) level service discovery.
  • [BETA] Brand new API for bootstraping Dubbo projects

Performance Tuning

  • Overall performance improved by nearly 30% compared to v2.7.3 (by QPS in certain circumstances)
  • Improved consumer side thread model to avoid thread allocation and context switch, especially useful for services serving big traffic.

Enhancement

  • Load balance strategy among multiple registries:
    • Preferred
    • Same zone first
    • Weighted LB
    • The first one available

... (truncated)

Commits
  • aa3fe7b correct checkMultiExtension name
  • 4492e2f reset start state when change takeover mode
  • 84d6bb7 Support generic call by reference without interface class locally (#8159)
  • 8ca6acb Merge remote-tracking branch 'apache/3.0' into 3.0.1-release
  • 39292a0 Optimize performance & Fix some potential bugs (#8155)
  • 10609c3 Clone ServiceInstance for multi registry (#8156)
  • 9da9857 [3.0] Support config mode for unique config types (#8150)
  • c263172 Get bean by name, avoid early init other FactoryBean (#8149)
  • 01f2261 ignore duplicated equivalent config (#8144)
  • 897687f Print warn log instead of throw exception. (#8142)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Bumps [dubbo](https://github.com/apache/dubbo) from 2.7.0 to 3.0.1.
- [Release notes](https://github.com/apache/dubbo/releases)
- [Changelog](https://github.com/apache/dubbo/blob/3.0/CHANGES.md)
- [Commits](apache/dubbo@dubbo-2.7.0...dubbo-3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
@dependabot-preview dependabot-preview bot added the dependencies Pull requests that update a dependency file label Jul 2, 2021
@dependabot-preview
Copy link
Author

We've just been alerted that this update fixes a security vulnerability:

Sourced from The GitHub Security Advisory Database.

Remote Code Execution in Apache Dubbo

Apache Dubbo supports various rules to support configuration override or traffic routing (called routing in Dubbo). These rules are loaded into the configuration center (eg: Zookeeper, Nacos, ...) and retrieved by the customers when making a request in order to find the right endpoint. When parsing these YAML rules, Dubbo customers will use SnakeYAML library to load the rules which by default will enable calling arbitrary constructors. An attacker with access to the configuration center he will be able to poison the rule so when retrieved by the consumers, it will get RCE on all of them. This was fixed in Dubbo 2.7.13, 3.0.2

Affected versions: ["< 2.7.13"]

@dependabot-preview
Copy link
Author

We've just been alerted that this update fixes a security vulnerability:

Sourced from The GitHub Security Advisory Database.

Hessian protocol configuration vulnerability in Apache Dubbo

In Apache Dubbo, users may choose to use the Hessian protocol. The Hessian protocol is implemented on top of HTTP and passes the body of a POST request directly to a HessianSkeleton: New HessianSkeleton are created without any configuration of the serialization factory and therefore without applying the dubbo properties for applying allowed or blocked type lists. In addition, the generic service is always exposed and therefore attackers do not need to figure out a valid service/method name pair. This is fixed in 2.7.13, 2.6.10.1

Affected versions: [">= 2.7.0, < 2.7.13"]

@dependabot-preview dependabot-preview bot changed the title Bump dubbo from 2.7.0 to 3.0.1 [Security] Bump dubbo from 2.7.0 to 3.0.1 Sep 8, 2021
@dependabot-preview dependabot-preview bot changed the title Bump dubbo from 2.7.0 to 3.0.1 [Security] Bump dubbo from 2.7.0 to 3.0.1 Sep 8, 2021
@dependabot-preview dependabot-preview bot added the security Pull requests that address a security vulnerability label Sep 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file security Pull requests that address a security vulnerability
Projects
None yet
0 participants