CVE-2023-46132 Crosslinking transaction attack in hyperledger/fabric
Attackers can craft cross-linked transaction blocks to cause peer state divergence and bypass transaction processing in Hyperledger Fabric.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-46132?
CVE-2023-46132 is a high-severity vulnerability in hyperledger fabric, published on 14 Nov 2023. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Hyperledger Fabric is an open source permissioned distributed ledger framework. Combining two molecules to one another, called "cross-linking" results in a molecule with a chemical formula that is composed of all atoms of the original two molecules. In Fabric, one can take a block of transactions and cross-link the transactions in a way that alters the way the peers parse the transactions. If a first peer receives a block B and a second peer receives a block identical to B but with the transactions being cross-linked, the second peer will parse transactions in a different way and thus its world state will deviate from the first peer. Orderers or peers cannot detect that a block has its transactions cross-linked, because there is a vulnerability in the way Fabric hashes the transactions of blocks. It simply and naively concatenates them, which is insecure and lets an adversary craft a "cross-linked block" (block with cross-linked transactions) which alters the way peers process transactions. For example, it is possible to select a transaction and manipulate a peer to completely avoid processing it, without changing the computed hash of the block. Additional validations have been added in v2.2.14 and v2.5.5 to detect potential cross-linking issues before processing blocks. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Weakness: CWE-362
Which versions are affected by CVE-2023-46132?
7 open source packages ship an affected version, including github.com/hyperledger/fabric, hyperledger-fabric-orderer and hyperledger-fabric-peer. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/hyperledger/fabric Go | From 1.0.0-alpha | 2.2.14 |
github.com/hyperledger/fabric Go | From 1.0.0-alpha | 2.2.14 |
github.com/hyperledger/fabric Go | From 2.3.0 | 2.5.5 |
github.com/hyperledger/fabric Go | From 2.3.0 | 2.5.5 |
hyperledger-fabric-orderer Bitnami | From 1.0.0 | 2.2.14, 2.5.5 |
hyperledger-fabric-peer Bitnami | From 1.0.0 | 2.2.14, 2.5.5 |
1 more packages
hyperledger-fabric-tools Bitnami | From 1.0.0 | 2.2.14, 2.5.5 |
Products include Hyperledger Fabric.
How do I fix CVE-2023-46132?
Upgrade github.com/hyperledger/fabric to a fixed version for your release line: 2.2.14 or 2.5.5.
Is CVE-2023-46132 being exploited?
There is no known exploitation of CVE-2023-46132 in the wild and no public exploit code.
Other vulnerabilities in hyperledger fabric
- CVE-2026-41586 ObjectInputStream.readObject() without ObjectInputFilter in fabric-sdk-java allows Java deserialization RCE
- CVE-2022-45196 Denial of service in n/a
- CVE-2022-31121 Improper Input Validation in fabric hyperledger
- CVE-2022-36023 Remote denial of service in Hyperledger Fabric Gateway
- CVE-2024-45244 Hyperledger Fabric does not verify request has a timestamp within the expected time window
Sources
Also known as BIT-hyperledger-fabric-orderer-2023-46132, BIT-hyperledger-fabric-peer-2023-46132, BIT-hyperledger-fabric-tools-2023-46132, GHSA-v9w2-543f-h69m.