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

dubbo-serialization-fury allowList/allowListPrefix doesn't take affect #1651

Open
huisman6 opened this issue May 28, 2024 · 0 comments
Open
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@huisman6
Copy link
Contributor

Is your feature request related to a problem? Please describe.

When Dubbo class serialization security check is enabled:

dubbo.application.serialize-check-status=STRICT
dubbo.application.auto-trust-serialize-class=true
dubbo.application.trust-serialize-class-level=3

Dubbo Serialization Fury keeps running an exception during deserialization, indicating that it is not in the serialization allowlist.

After debugging, the reason for this exception is that FuryCheckerListener#notifyPrefix method calls AllowListChecker without adding * to the allowedList and Fury AllowListChecker uses the suffix character * to determine whether it is a prefix match or an exact match..

For example, for DTO io.github.playground.server.model.User, the allowedList finally parsed by the dubbo security mechanism io.github.playground is added to AllowListChecker through FuryCheckerListener and saved in allowList instead of allowListPrefix.

Describe the solution you'd like

FuryCheckerListener adapts to AllowListChecker by appending the suffix character * .

Additional context

dubbo: 3.2
dubbo-serialization-fury: 3.2.0
dubbo security mechanism: https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/

@huisman6 huisman6 added the enhancement New feature or request label May 28, 2024
@chaokunyang chaokunyang added the good first issue Good for newcomers label May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants