CVE-2026-41586
Awaiting Analysis Awaiting Analysis - Queue
Java Deserialization RCE in Hyperledger Fabric

Publication date: 2026-05-07

Last updated on: 2026-05-07

Assigner: GitHub, Inc.

Description
Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. From versions 1.0.0 to 2.2.26, Channel.java implements readObject() and exposes deSerializeChannel() which call ObjectInputStream.readObject() on untrusted byte arrays without configuring an ObjectInputFilter. This is a classic Java deserialization RCE pattern. At time of publication, there are no publicly available patches.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-07
Last Modified
2026-05-07
Generated
2026-05-09
AI Q&A
2026-05-07
EPSS Evaluated
2026-05-08
NVD
EUVD
Affected Vendors & Products
Showing 3 associated CPEs
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
CWE Icon
KEV
KEV Icon
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.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart