Skip to content

Commit

Permalink
add vulnerable nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
willcl-ark committed Oct 7, 2024
1 parent 917ee4a commit caef059
Show file tree
Hide file tree
Showing 2 changed files with 113 additions and 3 deletions.
8 changes: 5 additions & 3 deletions resources/charts/bitcoincore/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,13 @@ Create the name of the service account to use


{{/*
Add network section heading in bitcoin.conf after v0.17.0
Add network section heading in bitcoin.conf
Always add for custom semver, check version for valid semver
*/}}
{{- define "bitcoincore.check_semver" -}}
{{- $version := semverCompare ">=0.17.0" .Values.image.tag -}}
{{- if $version -}}
{{- $custom := contains "-" .Values.image.tag -}}
{{- $newer := semverCompare ">=0.17.0" .Values.image.tag -}}
{{- if or $newer $custom -}}
[{{ .Values.chain }}]
{{- end -}}
{{- end -}}
108 changes: 108 additions & 0 deletions resources/images/bitcoin/insecure/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,111 @@ docker buildx build \
--tag bitcoindevproject/bitcoin:0.16.1 \
resources/images/bitcoin/insecure
```

## unknown p2p message crash

Will crash when sent an "unknown" P2P message is received from a node using protocol version >= 70016

```bash
docker buildx build \
--platform linux/amd64,linux/armhf \
--build-context bitcoin-src="." \
--build-arg ALPINE_VERSION="3.20" \
--build-arg BITCOIN_VERSION="28.1.1" \
--build-arg EXTRA_PACKAGES="sqlite-dev" \
--build-arg EXTRA_RUNTIME_PACKAGES="" \
--build-arg REPO="willcl-ark/bitcoin" \
--build-arg COMMIT_SHA="df1768325cca49bb867b7919675ae06c964b5ffa" \
--tag bitcoindevproject/bitcoin:99.1.0-unknown-message \
resources/images/bitcoin/insecure
```

## invalid blocks crash

Will crash when sent an invalid block

```bash
docker buildx build \
--platform linux/amd64,linux/armhf \
--build-context bitcoin-src="." \
--build-arg ALPINE_VERSION="3.20" \
--build-arg BITCOIN_VERSION="28.1.1" \
--build-arg EXTRA_PACKAGES="sqlite-dev" \
--build-arg EXTRA_RUNTIME_PACKAGES="" \
--build-arg REPO="willcl-ark/bitcoin" \
--build-arg COMMIT_SHA="dae4caab34b6c5c58324b1356897953c99a6e920" \
--tag bitcoindevproject/bitcoin:99.1.0-invalid-blocks \
resources/images/bitcoin/insecure
```

## too many orphans crash

Will crash when we have 50 orphans in the orphanage

```bash
docker buildx build \
--platform linux/amd64,linux/armhf \
--build-context bitcoin-src="." \
--build-arg ALPINE_VERSION="3.20" \
--build-arg BITCOIN_VERSION="28.1.1" \
--build-arg EXTRA_PACKAGES="sqlite-dev" \
--build-arg EXTRA_RUNTIME_PACKAGES="" \
--build-arg REPO="willcl-ark/bitcoin" \
--build-arg COMMIT_SHA="38aff9d695f5aa187fc3b75f08228248963372ee" \
--tag bitcoindevproject/bitcoin:99.1.0-50-orphans \
resources/images/bitcoin/insecure
```

## full mempool crash

Will crash when we would normally trim the mempool size

```bash
docker buildx build \
--platform linux/amd64,linux/armhf \
--build-context bitcoin-src="." \
--build-arg ALPINE_VERSION="3.20" \
--build-arg BITCOIN_VERSION="28.1.1" \
--build-arg EXTRA_PACKAGES="sqlite-dev" \
--build-arg EXTRA_RUNTIME_PACKAGES="" \
--build-arg REPO="willcl-ark/bitcoin" \
--build-arg COMMIT_SHA="f9b6fb7fdb586a57945a835fe228b9eabb137f1e" \
--tag bitcoindevproject/bitcoin:99.1.0-no-mp-trim\
resources/images/bitcoin/insecure
```

## disabled opcodes crash

Will crash when processing a disabled opcode

```bash
docker buildx build \
--platform linux/amd64,linux/armhf \
--build-context bitcoin-src="." \
--build-arg ALPINE_VERSION="3.20" \
--build-arg BITCOIN_VERSION="28.1.1" \
--build-arg EXTRA_PACKAGES="sqlite-dev" \
--build-arg EXTRA_RUNTIME_PACKAGES="" \
--build-arg REPO="willcl-ark/bitcoin" \
--build-arg COMMIT_SHA="51e068ed42727eee08af62e09eb5789d8b910f61" \
--tag bitcoindevproject/bitcoin:99.1.0-disabled-opcodes \
resources/images/bitcoin/insecure
```

## crash when 5k inv messages received

Will crash when we receive a total of 5k `INV` p2p messages are received from a single peer.

```bash
docker buildx build \
--platform linux/amd64,linux/armhf \
--build-context bitcoin-src="." \
--build-arg ALPINE_VERSION="3.20" \
--build-arg BITCOIN_VERSION="28.1.1" \
--build-arg EXTRA_PACKAGES="sqlite-dev" \
--build-arg EXTRA_RUNTIME_PACKAGES="" \
--build-arg REPO="willcl-ark/bitcoin" \
--build-arg COMMIT_SHA="3e1ce7de0d19f791315fa87e0d29504ee0c80fe8" \
--tag bitcoindevproject/bitcoin:99.1.0-5k-inv \
resources/images/bitcoin/insecure
```

0 comments on commit caef059

Please sign in to comment.