CVE-2026-41586
Java Deserialization RCE in Hyperledger Fabric
Publication date: 2026-05-07
Last updated on: 2026-05-07
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| hyperledger | fabric-sdk-java | From 1.0.0 (inc) to 2.2.26 (inc) |
| hyperledger | fabric-gateway | * |
| hyperledger | fabric | From 1.0.0 (inc) to 2.2.26 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-502 | The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2026-41586 is a critical Java deserialization remote code execution (RCE) vulnerability found in the deprecated fabric-sdk-java client SDK of Hyperledger Fabric.
The vulnerability occurs in the Channel.java file where the methods readObject() and deSerializeChannel() deserialize untrusted byte arrays using ObjectInputStream.readObject() without applying an ObjectInputFilter.
This lack of filtering allows attackers to supply malicious serialized data that can trigger remote code execution through gadget chain exploitation when processed.
The issue is particularly dangerous in environments where Channel data is accepted from untrusted sources.
The fabric-sdk-java is deprecated and replaced by fabric-gateway, which does not use Java serialization, mitigating this risk.
How can this vulnerability impact me? :
This vulnerability can allow an attacker to execute arbitrary code remotely on systems running the vulnerable fabric-sdk-java client SDK.
Successful exploitation could lead to full compromise of the affected system, including unauthorized access, data manipulation, or disruption of blockchain network operations.
The impact is especially severe because the vulnerability requires no privileges or user interaction and has a high attack vector (network accessible).
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves unsafe Java deserialization in the fabric-sdk-java client SDK, specifically in the Channel.java file where untrusted byte arrays are deserialized without an ObjectInputFilter. Detection involves identifying usage of the deprecated fabric-sdk-java SDK and monitoring for deserialization of untrusted Channel data.
Since the vulnerability is related to Java deserialization, you can look for suspicious deserialization activity or attempts to send malicious serialized objects to the application.
Suggested commands or approaches include:
- Check running Java processes for usage of fabric-sdk-java or presence of Channel.java class: `jps -l | grep fabric-sdk-java` or inspecting the classpath.
- Use Java debugging or logging to detect calls to ObjectInputStream.readObject() without filters.
- Monitor network traffic for suspicious serialized Java objects being sent to the application, e.g., using packet capture tools like tcpdump or Wireshark filtering for Java serialization streams.
- Review application logs for exceptions or errors related to deserialization.
Note that no specific detection commands are provided in the resources, so these are general recommendations based on the nature of the vulnerability.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include:
- Migrate from the deprecated fabric-sdk-java client SDK to the newer fabric-gateway, which does not use Java serialization and is not vulnerable.
- If migration is not immediately possible, add an ObjectInputFilter to the deserialization process in Channel.java to whitelist expected classes and block malicious serialized objects.
- Restrict or validate all inputs that involve serialized Channel data, especially from untrusted sources.
- Monitor and limit network exposure of services that accept serialized Channel data.
At the time of publication, no public patches are available, so these mitigations focus on reducing attack surface and upgrading to supported components.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
This vulnerability allows remote code execution through unsafe deserialization of untrusted data, which can lead to unauthorized access, data manipulation, or data breaches.
Such security weaknesses can impact compliance with standards and regulations like GDPR and HIPAA, which require protection of sensitive data and prevention of unauthorized system access.
Exploitation of this vulnerability could result in violations of data protection requirements, potentially leading to legal and financial consequences under these regulations.