CVE-2022-3212 – axum-core
Package
Manager: cargo
Name: axum-core
Vulnerable Version: >=0 <0.2.8 || =0.3.0-rc.1 || >=0.3.0-rc.1 <0.3.0-rc.2
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
EPSS: 0.00111 pctl0.30236
Details
axum-core has no default limit put on request bodies `<bytes::Bytes as axum_core::extract::FromRequest>::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.15` and `0.6.0.rc.1`. `axum` `>= 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.
Metadata
Created: 2022-09-15T03:25:15Z
Modified: 2022-09-19T19:22:47Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/09/GHSA-m77f-652q-wwp4/GHSA-m77f-652q-wwp4.json
CWE IDs: ["CWE-770"]
Alternative ID: GHSA-m77f-652q-wwp4
Finding: F029
Auto approve: 1