Overview
- 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.
- Source
- security-advisories@github.com
- NVD status
- Analyzed
Risk scores
CVSS 3.1
- Type
- Primary
- Base score
- 6.5
- Impact score
- 3.6
- Exploitability score
- 2.8
- Vector string
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Severity
- MEDIUM
Weaknesses
- security-advisories@github.com
- CWE-362
Social media
- Hype score
- Not currently trending
Configurations
[ { "nodes": [ { "negate": false, "cpeMatch": [ { "criteria": "cpe:2.3:a:hyperledger:fabric:*:*:*:*:*:*:*:*", "vulnerable": true, "matchCriteriaId": "A1424E57-3AD8-488F-B35C-EF4A020804DE", "versionEndExcluding": "2.2.14", "versionStartIncluding": "1.0.0" }, { "criteria": "cpe:2.3:a:hyperledger:fabric:*:*:*:*:*:*:*:*", "vulnerable": true, "matchCriteriaId": "5595B581-80B8-4797-9C3C-73D57A0DF6ED", "versionEndExcluding": "2.5.5", "versionStartIncluding": "2.3.0" } ], "operator": "OR" } ] } ]