RustFS — это распределенная система хранения объектов, построенная на Rust. В версиях с 1.0.0-alpha.56 по 1.0.0-alpha.82 RustFS не проверяет условия политики в заранее заданных загрузках POST (PostObject), что позволяет злоумышленникам обходить ограничения диапазона длины контента, начала с и типа контента. Это позволяет несанкционированно загружать файлы, превышающие ограничения по размеру, загружать их на произвольные ключи объекта и подделывать типы контента, что потенциально может привести к исчерпанию хранилища, несанкционированному доступу к данным и обходу безопасности.
Версия 1.0.0-alpha.83 устраняет проблему.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 27
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
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:*:*
|
— | — |