Description
RustFS is a distributed object storage system built in Rust. Prior to version 1.0.0-alpha.79, he `ImportIam` admin API validates permissions using `ExportIAMAction` instead of `ImportIAMAction`, allowing a principal with export-only IAM permissions to perform import operations. Since importing IAM data performs privileged write actions (creating/updating users, groups, policies, and service accounts), this can lead to unauthorized IAM modification and privilege escalation. Version 1.0.0-alpha.79 fixes the issue.
Published: 2026-01-08
Score: 5.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Privilege Escalation via IAM based on incorrect authorization
Action: Apply Patch
AI Analysis

Impact

RustFS, a Rust‑based distributed object storage system, has a bug in the ImportIam administrative API that incorrectly validates permissions by checking for ExportIAMAction instead of ImportIAMAction. Because ImportIam performs privileged write operations—creating or updating users, groups, policies, and service accounts—an attacker who has only export‑only IAM permissions can perform an import operation. This allows unauthorized modification of IAM configuration and results in privilege escalation. The flaw is an example of improper authorization (CWE‑285) compounded with a use of a wrong action constant (CWE‑863).

Affected Systems

All RustFS releases prior to version 1.0.0‑alpha.79 are impacted. The affected versions include the extensive list of alpha releases from alpha1 through alpha78 referenced by the CPE strings, representing the RustFS product from the rustfs vendor. Any deployment of these pre‑79 alpha releases that exposes the ImportIam API and grants export‑only IAM permissions to a principal is vulnerable.

Risk and Exploitability

The CVSS score of 5.7 indicates moderate severity, but the EPSS score of less than 1% shows a very low likelihood of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. An attacker must first authenticate to a RustFS instance and possess export‑only IAM rights, then invoke the ImportIam endpoint; no special network permissions are required beyond those needed to access the API. Because the attack requires valid credentials and specific IAM permissions, the risk to an organization depends on how those export‑only permissions are delegated, but the capability to create or modify IAM entities represents a significant privilege escalation end state.

Generated by OpenCVE AI on April 18, 2026 at 07:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade RustFS to version 1.0.0‑alpha.79 or later, which corrects the ImportIAM permission check.
  • Audit current IAM roles and revoke any export‑only permissions that are not strictly required.
  • Restrict the use of the ImportIam API to administrators with full IAM privileges and monitor for unexpected import activity.

Generated by OpenCVE AI on April 18, 2026 at 07:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vcwh-pff9-64cc RustFS has IAM Incorrect Authorization in ImportIam that Allows Privilege Escalation
History

Thu, 15 Jan 2026 21:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:rustfs:rustfs:1.0.0:alpha10:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha11:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha12:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha13:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha14:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha15:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha16:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha17:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha18:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha19:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha1:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha20:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha21:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha22:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha23:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha24:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha25:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha26:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha27:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha28:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha29:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha2:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha30:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha31:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha32:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha33:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha34:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha35:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha36:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha37:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha38:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha39:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha3:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha40:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha41:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha42:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha43:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha44:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha45:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha46:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha47:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha48:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha49:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha4:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha50:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha51:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha52:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha53:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha54:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha55:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha56:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha57:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha58:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha59:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha5:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha60:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha61:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha62:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha63:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha64:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha65:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha66:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha67:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha68:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha69:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha6:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha70:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha71:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha72:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha73:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha74:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha75:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha76:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha77:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha78:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha7:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha8:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha9:*:*:*:rust:*:*
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Fri, 09 Jan 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Rustfs
Rustfs rustfs
Vendors & Products Rustfs
Rustfs rustfs

Thu, 08 Jan 2026 18:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 08 Jan 2026 15:15:00 +0000

Type Values Removed Values Added
Description RustFS is a distributed object storage system built in Rust. Prior to version 1.0.0-alpha.79, he `ImportIam` admin API validates permissions using `ExportIAMAction` instead of `ImportIAMAction`, allowing a principal with export-only IAM permissions to perform import operations. Since importing IAM data performs privileged write actions (creating/updating users, groups, policies, and service accounts), this can lead to unauthorized IAM modification and privilege escalation. Version 1.0.0-alpha.79 fixes the issue.
Title RustFS has IAM Incorrect Authorization in ImportIam that Allows Privilege Escalation
Weaknesses CWE-285
CWE-863
References
Metrics cvssV4_0

{'score': 5.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-01-08T15:54:51.896Z

Reserved: 2026-01-05T22:30:38.720Z

Link: CVE-2026-22042

cve-icon Vulnrichment

Updated: 2026-01-08T15:50:49.143Z

cve-icon NVD

Status : Analyzed

Published: 2026-01-08T15:15:45.443

Modified: 2026-01-15T21:11:34.373

Link: CVE-2026-22042

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T07:45:24Z

Weaknesses