-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Remote Code Execution (RCE) Due to Deserialization Vulnerability in Motan #1073
Comments
wow so cool,I love it,you are so good boy |
Thanks for the feedback. This RCE vulnerability is caused by Java's ObjectInputStream and only affects the motan1 protocol. The latest motan2 protocol has deprecated ObjectInputStream, so the Motan2 protocol will not be affected by this. We will evaluate whether subsequent versions will deprecate the compatibility with the motan1 protocol. |
Because the motan2 protocol is currently compatible with the motan1 protocol, the motan1 protocol will be abandoned in the future, and the motan2 server will no longer be compatible with the motan1 protocol。 |
RPC is generally an internal service and will not be exposed to the public network. It is also difficult to pass attack code from the outside to the internal RPC service, so the risk is relatively controllable. This PR supports removing the compatibility with the motan1 protocol by setting Since the motan1 protocol is not suitable for cross-language communication and is no longer recommended, this PR adds serialized object type restrictions and makes simple patches. |
Remote Code Execution (RCE) Due to Deserialization Vulnerability in Motan
Description
I discovered a deserialization vulnerability in the Motan framework, which allows attackers to execute arbitrary code on the server (e.g., launch the calculator). The specific steps are as follows:
Reproduction Steps
1. Prepare Environment
motan-server
andmotan-client
.motan-server
, startMotanBenchmarkServer
without any code modifications.motan-client
, modifymotan-core
and overridemotan-benchmark-client
.2. Specific Steps
The overridden
motan-benchmark-client
code is as follows:Modify motan-core serialization logic to change the double-layer serialization into a single layer.
Before:
After:
Vulnerability Verification
Start motan-benchmark-client and trigger the vulnerability at the decodeRequestParameter in motan-server.
Acknowledgements
If you confirm the existence of the vulnerability, please email me a reply and set the credit as follows
Credit:
If you don't think this is a loophole, please reply to the email and tell me why
Thank you very much
The text was updated successfully, but these errors were encountered: