Skip to content

Commit caef059

Browse files
committed
add vulnerable nodes
1 parent 917ee4a commit caef059

File tree

2 files changed

+113
-3
lines changed

2 files changed

+113
-3
lines changed

resources/charts/bitcoincore/templates/_helpers.tpl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,13 @@ Create the name of the service account to use
5858

5959

6060
{{/*
61-
Add network section heading in bitcoin.conf after v0.17.0
61+
Add network section heading in bitcoin.conf
62+
Always add for custom semver, check version for valid semver
6263
*/}}
6364
{{- define "bitcoincore.check_semver" -}}
64-
{{- $version := semverCompare ">=0.17.0" .Values.image.tag -}}
65-
{{- if $version -}}
65+
{{- $custom := contains "-" .Values.image.tag -}}
66+
{{- $newer := semverCompare ">=0.17.0" .Values.image.tag -}}
67+
{{- if or $newer $custom -}}
6668
[{{ .Values.chain }}]
6769
{{- end -}}
6870
{{- end -}}

resources/images/bitcoin/insecure/build.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,111 @@ docker buildx build \
8787
--tag bitcoindevproject/bitcoin:0.16.1 \
8888
resources/images/bitcoin/insecure
8989
```
90+
91+
## unknown p2p message crash
92+
93+
Will crash when sent an "unknown" P2P message is received from a node using protocol version >= 70016
94+
95+
```bash
96+
docker buildx build \
97+
--platform linux/amd64,linux/armhf \
98+
--build-context bitcoin-src="." \
99+
--build-arg ALPINE_VERSION="3.20" \
100+
--build-arg BITCOIN_VERSION="28.1.1" \
101+
--build-arg EXTRA_PACKAGES="sqlite-dev" \
102+
--build-arg EXTRA_RUNTIME_PACKAGES="" \
103+
--build-arg REPO="willcl-ark/bitcoin" \
104+
--build-arg COMMIT_SHA="df1768325cca49bb867b7919675ae06c964b5ffa" \
105+
--tag bitcoindevproject/bitcoin:99.1.0-unknown-message \
106+
resources/images/bitcoin/insecure
107+
```
108+
109+
## invalid blocks crash
110+
111+
Will crash when sent an invalid block
112+
113+
```bash
114+
docker buildx build \
115+
--platform linux/amd64,linux/armhf \
116+
--build-context bitcoin-src="." \
117+
--build-arg ALPINE_VERSION="3.20" \
118+
--build-arg BITCOIN_VERSION="28.1.1" \
119+
--build-arg EXTRA_PACKAGES="sqlite-dev" \
120+
--build-arg EXTRA_RUNTIME_PACKAGES="" \
121+
--build-arg REPO="willcl-ark/bitcoin" \
122+
--build-arg COMMIT_SHA="dae4caab34b6c5c58324b1356897953c99a6e920" \
123+
--tag bitcoindevproject/bitcoin:99.1.0-invalid-blocks \
124+
resources/images/bitcoin/insecure
125+
```
126+
127+
## too many orphans crash
128+
129+
Will crash when we have 50 orphans in the orphanage
130+
131+
```bash
132+
docker buildx build \
133+
--platform linux/amd64,linux/armhf \
134+
--build-context bitcoin-src="." \
135+
--build-arg ALPINE_VERSION="3.20" \
136+
--build-arg BITCOIN_VERSION="28.1.1" \
137+
--build-arg EXTRA_PACKAGES="sqlite-dev" \
138+
--build-arg EXTRA_RUNTIME_PACKAGES="" \
139+
--build-arg REPO="willcl-ark/bitcoin" \
140+
--build-arg COMMIT_SHA="38aff9d695f5aa187fc3b75f08228248963372ee" \
141+
--tag bitcoindevproject/bitcoin:99.1.0-50-orphans \
142+
resources/images/bitcoin/insecure
143+
```
144+
145+
## full mempool crash
146+
147+
Will crash when we would normally trim the mempool size
148+
149+
```bash
150+
docker buildx build \
151+
--platform linux/amd64,linux/armhf \
152+
--build-context bitcoin-src="." \
153+
--build-arg ALPINE_VERSION="3.20" \
154+
--build-arg BITCOIN_VERSION="28.1.1" \
155+
--build-arg EXTRA_PACKAGES="sqlite-dev" \
156+
--build-arg EXTRA_RUNTIME_PACKAGES="" \
157+
--build-arg REPO="willcl-ark/bitcoin" \
158+
--build-arg COMMIT_SHA="f9b6fb7fdb586a57945a835fe228b9eabb137f1e" \
159+
--tag bitcoindevproject/bitcoin:99.1.0-no-mp-trim\
160+
resources/images/bitcoin/insecure
161+
```
162+
163+
## disabled opcodes crash
164+
165+
Will crash when processing a disabled opcode
166+
167+
```bash
168+
docker buildx build \
169+
--platform linux/amd64,linux/armhf \
170+
--build-context bitcoin-src="." \
171+
--build-arg ALPINE_VERSION="3.20" \
172+
--build-arg BITCOIN_VERSION="28.1.1" \
173+
--build-arg EXTRA_PACKAGES="sqlite-dev" \
174+
--build-arg EXTRA_RUNTIME_PACKAGES="" \
175+
--build-arg REPO="willcl-ark/bitcoin" \
176+
--build-arg COMMIT_SHA="51e068ed42727eee08af62e09eb5789d8b910f61" \
177+
--tag bitcoindevproject/bitcoin:99.1.0-disabled-opcodes \
178+
resources/images/bitcoin/insecure
179+
```
180+
181+
## crash when 5k inv messages received
182+
183+
Will crash when we receive a total of 5k `INV` p2p messages are received from a single peer.
184+
185+
```bash
186+
docker buildx build \
187+
--platform linux/amd64,linux/armhf \
188+
--build-context bitcoin-src="." \
189+
--build-arg ALPINE_VERSION="3.20" \
190+
--build-arg BITCOIN_VERSION="28.1.1" \
191+
--build-arg EXTRA_PACKAGES="sqlite-dev" \
192+
--build-arg EXTRA_RUNTIME_PACKAGES="" \
193+
--build-arg REPO="willcl-ark/bitcoin" \
194+
--build-arg COMMIT_SHA="3e1ce7de0d19f791315fa87e0d29504ee0c80fe8" \
195+
--tag bitcoindevproject/bitcoin:99.1.0-5k-inv \
196+
resources/images/bitcoin/insecure
197+
```

0 commit comments

Comments
 (0)