Description
RustFS is a distributed object storage system built in Rust. Prior to version 1.0.0-alpha.83, a Stored Cross-Site Scripting (XSS) vulnerability in the RustFS Console allows an attacker to execute arbitrary JavaScript in the context of the management console. By bypassing the PDF preview logic, an attacker can steal administrator credentials from `localStorage`, leading to full account takeover and system compromise. Version 1.0.0-alpha.83 fixes the issue.
Published: 2026-02-25
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Administrator Account Takeover via Stored XSS
Action: Immediate Patch
AI Analysis

Impact

A stored Cross‑Site Scripting flaw in the RustFS Console preview modal allows an attacker to inject and run arbitrary JavaScript within the console’s execution context. If a malicious payload is executed, it can read developer credentials that are saved in the browser’s localStorage, enabling the attacker to capture full administrator credentials and subsequently take over the account and compromise the system. Based on the description, it is inferred that the attacker injects malicious JavaScript into the preview modal and gains access to the browser context.

Affected Systems

The bug affects all publicly released RustFS versions released before 1.0.0-alpha.83, including alpha 0 through alpha 82.

Risk and Exploitability

The vulnerability has a CVSS base score of 9.1, indicating a high‑severity potential. The EPSS score is < 1 %, showing that at the time of reporting the likelihood of exploitation is very low, and the issue is not listed in CISA’s Known Exploited Vulnerabilities catalog. Exploitation requires that the attacker can open the console’s preview modal, which typically requires authenticated access, implying that the attack surface is limited to users who can log in to the RustFS console. Once the payload runs, the attacker can harvest stored credentials and gain full control of the administrative account, elevating the impact from a client‑side bug to a full system compromise. Based on the description, it is inferred that the attacker must have authenticated access to the RustFS console to successfully exploit the preview modal.

Generated by OpenCVE AI on April 18, 2026 at 19:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade RustFS to version 1.0.0-alpha.83 or later, which contains a fix for the stored XSS issue.
  • If upgrading immediately is not possible, disable or restrict the preview modal functionality in the console to prevent the execution of malicious content.
  • After applying the fix, rotate all administrator credentials and enable multi‑factor authentication to mitigate any potential credential compromise that might have occurred during the vulnerable period.

Generated by OpenCVE AI on April 18, 2026 at 19:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-v9fg-3cr2-277j Rust has Critical Stored XSS in Preview Modal, leading to Administrative Account Takeover
History

Wed, 25 Feb 2026 22:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 25 Feb 2026 15:45: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:alpha79:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha7:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha80:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha81:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha82:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha8:*:*:*:rust:*:*
cpe:2.3:a:rustfs:rustfs:1.0.0:alpha9:*:*:*:rust:*:*

Wed, 25 Feb 2026 12:00:00 +0000

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

Wed, 25 Feb 2026 03: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.83, a Stored Cross-Site Scripting (XSS) vulnerability in the RustFS Console allows an attacker to execute arbitrary JavaScript in the context of the management console. By bypassing the PDF preview logic, an attacker can steal administrator credentials from `localStorage`, leading to full account takeover and system compromise. Version 1.0.0-alpha.83 fixes the issue.
Title Rust has Critical Stored XSS in Preview Modal, leading to Administrative Account Takeover
Weaknesses CWE-79
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-02-25T19:23:50.704Z

Reserved: 2026-02-24T02:32:39.799Z

Link: CVE-2026-27822

cve-icon Vulnrichment

Updated: 2026-02-25T19:23:17.903Z

cve-icon NVD

Status : Analyzed

Published: 2026-02-25T03:16:07.027

Modified: 2026-02-25T15:36:59.633

Link: CVE-2026-27822

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T19:45:08Z

Weaknesses