GitHub Advisoryadvisory · crates.io
GHSA-m77f-652q-wwp4 axum-core has no default limit put on request bodies
HIGH
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