GitHub Advisoryadvisory · crates.io

GHSA-m77f-652q-wwp4 axum-core has no default limit put on request bodies

HIGH Published 2022-09-15 Modified 2022-09-19 Official page ↗
Aliases
CVE-2022-3212
Ecosystem
crates.io
Packages
axum-core
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-770
Reviewed
2022-09-15

Affected packages

• crates.io axum-core: < 0.2.8 → fixed in 0.2.8 • crates.io axum-core: >= 0.3.0-rc.1, < 0.3.0-rc.2 → fixed in 0.3.0-rc.2

Description

`::from_request` would not, by default, set a limit for the size of the request body. That meant if a malicious peer would send a very large (or infinite) body your server might run out of memory and crash. This also applies to these extractors which used `Bytes::from_request` internally: • `axum::extract::Form` • `axum::extract::Json` • `String` The fix is also in `axum-core` `0.3.0.rc.2` but `0.3.0.rc.1` _is_ vulnerable. Because `axum` depends on `axum-core` it is vulnerable as well. The vulnerable versions of `axum` are `= 0.5.16` and `>= 0.6.0.rc.2` does have the fix and are not vulnerable. The patched versions will set a 2 MB limit by default.

Related

Alias · CVE (1)

  • CVE-2022-3212 <bytes::Bytes as axum_core::extract::FromRequest>::from_request would not, by default, set a limit for the size of the request body. vulnerability

Weakness · CWE (1)

  • CWE-770 Allocation of Resources Without Limits or Throttling weakness

References