SOFARPC is a Java RPC framework. SOFARPC defaults to using the SOFA Hessian protocol to deserialize received data, while the SOFA Hessian protocol uses a blacklist mechanism to restrict deserialization of potentially dangerous classes for security protection. But, prior to version 5.12.0, there is a gadget chain that can bypass the SOFA Hessian blacklist protection mechanism, and this gadget chain only relies on JDK and does not rely on any third-party components. Version 5.12.0 fixed this issue by adding a blacklist. SOFARPC also provides a way to add additional blacklists. Users can add a class like -Drpc_serialize_blacklist_override=org.apache.xpath. to avoid this issue.
{
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/23xxx/CVE-2024-23636.json",
"cwe_ids": [
"CWE-502"
]
}[
{
"signature_type": "Line",
"source": "https://github.com/sofastack/sofa-rpc/commit/f37465bf30bb89322e4911dd827495b88b4bdcac",
"id": "CVE-2024-23636-1c4213f7",
"signature_version": "v1",
"target": {
"file": "core/api/src/main/java/com/alipay/sofa/rpc/common/Version.java"
},
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"55862677667193933266201971555976405872",
"219415160655969076271546548824151953000",
"211469876026100016003346019718431866258"
]
}
}
]