Skip to content

Commit 01479b4

Browse files
committed
Merge #1147: advisories: Elaborate on bug category descriptions
f8aa94d advisories: Elaborate on bug category descriptions (dergoegge) Pull request description: The current severity category descriptions are more vague than necessary, especially now that we have a solid list of published advisories. This PR expands and clarifies the categories to better distinguish them and set clearer expectations, using examples from existing advisories where applicable. Top commit has no ACKs. Tree-SHA512: 48fb66b4399da0091077e50c433daff80ff9bdd0d812d366ede86233911d894576a2cfff1c9f8c4bd2e8a04f9ce01dd7826a322f777d9595122accf0302f8c72
2 parents cd5221d + f8aa94d commit 01479b4

File tree

1 file changed

+65
-5
lines changed

1 file changed

+65
-5
lines changed

_posts/en/pages/2024-06-26-security-advisories.md

Lines changed: 65 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,74 @@ All vulnerabilities should be reported to [email protected] (see
2020
details). When reported, a vulnerability will be assigned a severity category.
2121
We differentiate between 4 classes of vulnerabilities:
2222

23-
* **Low**: bugs which are hard to exploit or have a low impact. For instance
24-
a wallet bug which requires access to the victim's machine.
23+
### Critical
2524

26-
* **Medium**: bugs with limited impact. For instance a local network remote crash.
25+
Bugs that threaten the fundamental security and integrity of the entire Bitcoin
26+
network. These are bugs that allow for coin theft at the protocol level, the
27+
creation of coins outside of the specified issuance schedule, or permanent,
28+
network-wide chain splits.
2729

28-
* **High**: bugs with significant impact. For instance a remote crash, or a local network RCE.
30+
Examples:
31+
* A bug allowing inflating the money supply by spending the same transaction
32+
output twice within a block ([CVE-2018-17144](/en/2018/09/20/notice/)).
33+
* A consensus failure where nodes running older software rejected a block that
34+
newer software accepted due to an underlying database limit, causing a
35+
network-wide chain split ([BIP
36+
50](https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki)).
2937

30-
* **Critical**: bugs which threaten the whole network's integrity. For instance an inflation or coin theft bug.
38+
### High
39+
40+
Bugs with a significant impact on affected nodes or the network. These are
41+
typically exploitable remotely under default configurations and can cause
42+
widespread disruption.
43+
44+
Examples:
45+
* A remotely triggerable crash that could take many nodes offline
46+
([CVE-2024-35202](/en/2024/10/08/disclose-blocktxn-crash/)).
47+
* A denial-of-service attack that causes a node to stall for an extended
48+
period, preventing it from processing new transactions and blocks
49+
([CVE-2024-52914](/en/2024/07/03/disclose-orphan-dos/)).
50+
* A memory exhaustion vulnerability that could be triggered remotely to crash
51+
nodes by having them store an excessive amount of block headers
52+
([CVE-2019-25220](/en/2024/09/18/disclose-headers-oom/)).
53+
54+
### Medium
55+
56+
Bugs that can noticeably degrade the network's or a node's performance or
57+
functionality, but are limited in their scope or exploitability. These might
58+
require special conditions to trigger, such as non-default settings, or result
59+
in service degradation rather than a complete node failure.
60+
61+
Examples:
62+
* A potential Remote Code Execution (RCE) vulnerability on the local network
63+
that is only exploitable if a non-default feature like UPnP is enabled
64+
([CVE-2015-20111](/en/2024/07/03/disclose_upnp_rce/)).
65+
* A peer could hinder block propagation by sending mutated blocks, delaying the
66+
reception of new blocks for a node
67+
([CVE-2024-52921](/en/2024/10/08/disclose-mutated-blocks-hindering-propagation/)).
68+
* An attacker announcing a block to a node and then failing to provide it,
69+
causing the victim node to wait for up to 10 minutes before being able to
70+
fetch it from another peer
71+
([CVE-2024-52922](/en/2024/11/05/cb-stall-hindering-propagation/)).
72+
73+
### Low
74+
75+
Bugs that are challenging to exploit or have a minor impact on a node's
76+
operation. They might only be triggerable under non-default configurations or
77+
from the local network, and do not pose an immediate or widespread threat.
78+
79+
Examples:
80+
* A malformed `getdata` message could cause a peer connection to enter an
81+
infinite loop, consuming CPU but not affecting the node's ability to process
82+
blocks or handle other peer connections
83+
([CVE-2024-52920](/en/2024/07/03/disclose-getdata-cpu/)).
84+
* A bug in a dependency that could crash a node, but only if a non-default
85+
feature like UPnP is enabled
86+
([CVE-2024-52917](/en/2024/07/31/disclose-upnp-oom/)).
87+
* A bug that could crash a node, but is extremely difficult to exploit
88+
([CVE-2024-52919](/en/2025/04/28/disclose-cve-2024-52919/)).
89+
90+
---
3191

3292
**Low** severity bugs will be disclosed 2 weeks after a fixed version exists on the current major release branch.
3393
A pre-announcement will be made at the same time as the release.

0 commit comments

Comments
 (0)