Description
Hyperledger Besu is an open-source, MainNet compatible, Ethereum client written in Java. In Besu before version 1.5.1 there is a denial-of-service vulnerability involving the HTTP JSON-RPC API service. If username and password authentication is enabled for the HTTP JSON-RPC API service, then prior to making any requests to an API endpoint the requestor must use the login endpoint to obtain a JSON web token (JWT) using their credentials. A single user can readily overload the login endpoint with invalid requests (incorrect password). As the supplied password is checked for validity on the main vertx event loop and takes a relatively long time this can cause the processing of other valid requests to fail. A valid username is required for this vulnerability to be exposed. This has been fixed in version 1.5.1.
Remediation
References
https://github.com/hyperledger/besu/security/advisories/GHSA-qgfj-mjpc-7w3q
https://github.com/hyperledger/besu/commit/06e35a58c07a30c0fbdc0aae45a3e8b06b53c022
https://github.com/hyperledger/besu/blob/master/CHANGELOG.md#151
https://github.com/hyperledger/besu/pull/1144
Related Vulnerabilities
CVE-2019-19771 Vulnerability in npm package scrytsy
CVE-2020-17519 Vulnerability in maven package org.apache.flink:flink-runtime_2.12
CVE-2021-23718 Vulnerability in npm package ssrf-agent
CVE-2020-12265 Vulnerability in maven package org.webjars:decompress
CVE-2020-1936 Vulnerability in maven package org.apache.ambari:ambari-web