RustFS is a distributed object storage system built in Rust. In versions 1.0.0-alpha.56 through 1.0.0-alpha.82, RustFS does not validate policy conditions in presigned POST uploads (PostObject), allowing attackers to bypass content-length-range, starts-with, and Content-Type constraints. This enables unauthorized file uploads exceeding size limits, uploads to arbitrary object keys, and content-type spoofing, potentially leading to storage exhaustion, unauthorized data access, and security bypasses.
Version 1.0.0-alpha.83 fixes the issue.
Attack Parameters
Impact Assessment
CVSS Vector v3.1
Weakness Type (CWE)
Vulnerable Products 27
| Configuration | From (including) | Up to (excluding) |
|---|---|---|
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha56:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha57:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha58:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha59:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha60:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha61:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha62:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha63:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha64:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha65:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha66:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha67:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha68:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha69:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha70:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha71:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha72:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha73:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha74:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha75:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha76:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha77:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha78:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha79:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha80:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha81:*:*:*:rust:*:*
|
— | — |
|
Rustfs Rustfs
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha82:*:*:*:rust:*:*
|
— | — |