GHSA-v9fg-3cr2-277j · Severity: critical · Ecosystem: rust — Rust has Critical Stored XSS in Preview Modal, leading to Administrative Account Takeover
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.
Conclusion & alert: CVE-2026-27822 is rated High Exploit Risk (88.3/100): CVSS Critical severity, with high exploitation likelihood (EPSS 6.03%, 92th percentile). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). EPSS rose +5.99% over the last day, indicating growing attacker interest. Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-15 | 0.04% | 6.03% | +5.99% |
| 2 | 2026-02-25 | — | 0.04% | — |
Full EPSS history (2 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 9.0 | 3.1 | CRITICAL |
|
2.3 | 6.0 | [email protected] |
| 5.4 | 3.1 | MEDIUM |
|
2.3 | 2.7 | [email protected] |
GHSA-v9fg-3cr2-277j · Severity: critical · Ecosystem: rust — Rust has Critical Stored XSS in Preview Modal, leading to Administrative Account Takeover
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha1:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha10:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha11:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha12:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha13:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha14:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha15:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha16:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha17:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha18:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha19:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha2:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha20:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha21:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha22:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha23:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha24:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha25:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha26:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha27:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha28:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha29:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha3:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha30:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha31:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha32:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha33:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha34:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha35:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha36:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha37:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha38:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha39:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha4:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha40:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha41:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha42:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha43:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha44:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha45:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha46:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha47:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha48:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha49:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha5:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha50:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha51:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha52:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha53:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha54:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha55:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha56:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha57:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha58:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha59:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha6:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha60:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha61:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha62:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha63:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha64:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha65:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha66:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha67:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha68:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha69:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha7:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha70:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha71:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha72:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha73:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha74:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha75:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha76:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha77:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha78:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha79:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha8:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha80:*:*:*:rust:*:* |
| rustfs | rustfs | 1.0.0 | cpe:2.3:a:rustfs:rustfs:1.0.0:alpha81:*:*:*:rust:*:* |
| URL | Tags |
|---|---|
| https://github.com/rustfs/rustfs/security/advisories/GHSA-v9fg-3cr2-277j | Exploit Vendor Advisory |