# CVE-2021-21369: Potential DoS in Besu HTTP JSON-RPC API

> An attacker can cause denial of service in Hyperledger Besu by overloading the login endpoint with invalid credentials when authentication is enabled.

- **Severity:** Medium 6.5 (`CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** No
- **Published:** 9 Mar 2021
- **Updated:** 3 Aug 2024
- **Also known as:** GHSA-qgfj-mjpc-7w3q

## What is CVE-2021-21369?

CVE-2021-21369 is a medium-severity denial of service vulnerability in hyperledger besu, published on 9 Mar 2021. Any signed-in user can exploit it over the network, with no action from the victim.

### Official 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.

Weakness: CWE-400 (Uncontrolled Resource Consumption)

## Which versions are affected by CVE-2021-21369?

It affects 1 product.


Products: Linuxfoundation Besu.

## How do I fix CVE-2021-21369?

No fix has been published for CVE-2021-21369 yet. Limit exposure of the affected software until one is available.

## Is CVE-2021-21369 being exploited?

There is no known exploitation of CVE-2021-21369 in the wild and no public exploit code.

## Other vulnerabilities in hyperledger besu

- [CVE-2022-36025](https://insights.sbomify.com/CVE-2022-36025/): Incorrect Conversion between Numeric Types in Besu Ethereum Client (critical 9.1)
- [CVE-2021-41272](https://insights.sbomify.com/CVE-2021-41272/): SHL, SHR, and SAR operations trigger native exception at key values in besu (high 7.5)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2021-21369 and fix it if it is affected.

What it is: CVE-2021-21369 is a medium-severity denial of service vulnerability in hyperledger besu, published on 9 Mar 2021. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2021-21369 in the wild and no public exploit code.

Affected product: hyperledger besu. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2021-21369/ (Markdown: https://insights.sbomify.com/CVE-2021-21369/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2021-21369
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2021-21369
- OSV: https://osv.dev/vulnerability/CVE-2021-21369

---
From sbomify Insights: https://insights.sbomify.com/CVE-2021-21369/
Summaries are generated and may contain mistakes; the official description above is the record.
