GHSA-5m8f-chrv-7rw5 CVE-2021-43668
Denial of Service in Go-Ethereum
Medium
Go
- Severity
- 5.5 / 10
- Medium · CVSS 3.1
- Exploit chance (EPSS)
- 0.26%
- Chance of exploitation in the next 30 days. Higher than 17.66% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-476 NULL Pointer Dereference
- Fix
- None yet
- No fixed version published
Description
Go-Ethereum 1.10.9 nodes crash (denial of service) after receiving a serial of messages and cannot be recovered. They will crash with "runtime error: invalid memory address or nil pointer dereference" and arise a SEGV signal.
Affected versions
Go
| Package | Vulnerable | Fixed in |
|---|---|---|
| github.com/ethereum/go-ethereum | <= 1.10.9 |
No fix yet |
How to fix
No fixed version has been published yet. Until one is, remove or replace the package, or turn off or isolate the affected feature. This page updates when a fix ships.
Severity breakdown
CVSS 3.1 5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Weakness
CWE-476: NULL Pointer Dereference
The product dereferences a pointer that it expects to be valid but is NULL.
How to prevent it
- Implementation: For any pointers that could have been modified or provided from a function that can return NULL, check the pointer for NULL before use. When working with a multithreaded or otherwise asynchronous environment, ensure that proper locking APIs are used to lock before the check, and unlock when it has finished [REF-1484].
- Requirements: Select a programming language that is not susceptible to these issues.
- Implementation: Check the results of all functions that return a value and verify that the value is non-null before acting upon it.
- Architecture and Design: Identify all variables and data stores that receive information from external sources, and apply input validation to make sure that they are only initialized to expected values.
- Implementation: Explicitly initialize all variables and other data stores, either during declaration or just before the first usage.
References
Advisories
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-m6j8-rg6r-7mv8 Go Ethereum Improperly Validates the ECIES Public Key in RLPx Handshake | High | Also affects github.com/ethereum/go-ethereum |
| GHSA-2gjw-fg97-vg3r Go Ethereum affected by DoS via malicious p2p message | High | Also affects github.com/ethereum/go-ethereum |
| GHSA-689v-6xwf-5jf3 Go Ethereum affected by DoS via malicious p2p message | High | Also affects github.com/ethereum/go-ethereum |
| GHSA-mq3p-rrmp-79jg go-ethereum is vulnerable to high CPU usage leading to DoS via malicious p2p message | High | Also affects github.com/ethereum/go-ethereum |
| GHSA-mr7q-c9w9-wh4h go-ethereum is vulnerable to DoS via malicious p2p message affecting a vulnerable node | High | Also affects github.com/ethereum/go-ethereum |
| GHSA-q26p-9cq4-7fc2 Go Ethereum vulnerable to DoS via malicious p2p message | Medium | Also affects github.com/ethereum/go-ethereum |
| GHSA-4xc9-8hmq-j652 go-ethereum vulnerable to DoS via malicious p2p message | High | Also affects github.com/ethereum/go-ethereum |
| GHSA-v9jh-j8px-98vq go-ethereum vulnerable to denial of service via crafted GraphQL query | High | Also affects github.com/ethereum/go-ethereum |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor