CVE-2023-46132
HIGH7.1EPSS 0.18%Crosslinking transaction attack in hyperledger/fabric
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.
Affected packages (4)
- Bitnami/hyperledger-fabric-orderer>= 1.0.0, < 2.2.14, >= 2.3.0, < 2.5.5
- Bitnami/hyperledger-fabric-peer>= 1.0.0, < 2.2.14, >= 2.3.0, < 2.5.5
- Bitnami/hyperledger-fabric-tools>= 1.0.0, < 2.2.14, >= 2.3.0, < 2.5.5
- Go/github.com/hyperledger/fabric>= 1.0.0-alpha, < 2.2.14
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | HIGH7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L |
References (9)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2023-46132
- PATCHhttps://github.com/hyperledger/fabric
- WEBhttps://github.com/hyperledger/fabric/commit/389b2e66de9a6fbc6043216d554c97bbbdf0e008
- WEBhttps://github.com/hyperledger/fabric/commit/93bef10bd3ce3c54d7f3b064f765dbde61da7def
- WEBhttps://github.com/hyperledger/fabric/pull/4503
- WEBhttps://github.com/hyperledger/fabric/pull/4504
- WEBhttps://github.com/hyperledger/fabric/releases/tag/v2.2.14
- WEBhttps://github.com/hyperledger/fabric/releases/tag/v2.5.5
- WEBhttps://github.com/hyperledger/fabric/security/advisories/GHSA-v9w2-543f-h69m