Skip to main content

RustFS Console EUVDEUVD-2026-44728

| CVE-2026-62378 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-07-15 GitHub_M
9.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with upload access
  2. Delivery
    Upload HTML payload named .pdf
  3. Exploit
    Admin opens object preview
  4. Execution
    Script executes in console origin
  5. Persist
    Steal Access/Secret/Session keys
  6. Impact
    Assume admin control of storage

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires (1) an account with permission to upload/store an object into a bucket viewable in the console (PR:L authenticated per the CVSS vector), (2) the ability to name that object with a .pdf extension while its bytes are HTML/JavaScript, and (3) a RustFS Console administrator subsequently opening that object in the object preview modal (UI:R - the preview click is the trigger). The specific enabling feature is the extension-based PDF preview path in components/object/preview-modal.tsx / pdf-viewer.tsx that renders any *.pdf key in the PDF viewer regardless of true content type. Limiting factors: only versions 0.1.7-0.1.9 are affected, the attacker must be able to place a file where an admin will preview it, and successful credential theft depends on an admin actually using the preview feature - automated exploitation without that human step is not possible.

Impact

The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H, base 9.0) reflects a network-reachable, low-complexity attack that requires some privilege (PR:L - an authenticated account able to upload objects) and victim interaction (UI:R - an admin must open the preview), with a scope change (S:C) because script executing in the admin's browser can steal the admin's storage credentials and thereby compromise the wider storage system. No EPSS score, KEV entry, POC, or SSVC decision data was provided. There is no public exploit identified at time of analysis and it is not in CISA KEV, so this is a real but not confirmed-in-the-wild priority; the high base score is driven largely by the scope change and credential-exposure impact rather than by trivially remote-unauthenticated access. The PR:L/UI:R requirements meaningfully lower real-world exploitability versus a pure unauthenticated RCE. Note the reliance on admin credential theft is what justifies the C:H/I:H/A:H rating; treat availability impact as inferred rather than vendor-stated.

Exploit ScenarioDerived

An attacker with an account permitted to upload objects stores a file named report.pdf whose contents are actually HTML with an embedded script. When a RustFS administrator opens that object in the console's preview modal, the extension-based logic routes it to the PDF viewer, the script runs in the console origin, and it harvests the admin's AccessKeyId, SecretAccessKey, and SessionToken. No public POC was provided, but the vulnerable and fixed code paths are visible in the public commit.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 15, 2026

Stored cross-site scripting in RustFS Console (0.1.7 through 0.1.9) lets an attacker upload an HTML payload disguised as a .pdf file that executes when an administrator previews it, exfiltrating the console's AccessKeyId, SecretAccessKey, and SessionToken. The flaw is a regression of the previously patched CVE-2026-27822 and stems from the PDF preview path trusting the .pdf filename extension rather than the actual content type. No public exploit identified at time of analysis, but a fix and the vulnerable code are public in 0.1.10.

RemediationAI

Vendor-released patch: upgrade RustFS Console to v0.1.10, which changes isPdfPreview() to key exclusively on contentType === 'application/pdf' and no longer trusts the .pdf filename extension (commit 49630dc). Reference the advisory at https://github.com/rustfs/rustfs/security/advisories/GHSA-7gcx-wg4x-q9x6 and the release at https://github.com/rustfs/console/releases/tag/v0.1.10. If immediate upgrade is not possible, restrict who can upload objects to trusted operators, avoid using the in-console object preview feature on untrusted or user-supplied objects, and serve stored objects with a correct Content-Type and a restrictive Content-Security-Policy plus Content-Disposition: attachment so browsers download rather than render them; the trade-off is that disabling in-browser preview reduces console usability. Rotating any AccessKeyId/SecretAccessKey/SessionToken values that may have been exposed is advisable if compromise is suspected.

Affected VersionsENISA

console 0.1.7, < 0.1.10

Affected Packages

euvd console_0_1_7 fix: 0.1.10

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

RustFS is a distributed object-storage file system, and RustFS Console is its React/TypeScript web management UI. The affected code lives in components/object/preview-modal.tsx and components/object/pdf-viewer.tsx. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): the isPdfPreview() helper decided to render an object in the PDF viewer if the object key merely ended in '.pdf' (keyLower.endsWith('.pdf')), independent of the real MIME type. An attacker could therefore store an object named foo.pdf whose bytes are actually HTML/JavaScript; when the browser rendered it in the preview/iframe context, the script executed in the console's origin. The affected component is identified by CPE cpe:2.3:a:rustfs:console.

Know when Rustfs gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.0 CRITICAL
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
vuln.today AI 9.0 CRITICAL

Requires an authenticated uploader (PR:L) and an admin to open the preview (UI:R); script runs in the console origin stealing admin credentials, causing a scope change (S:C) and full storage compromise.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Jul 15, 2026 - 21:18 EUVD
CVE Published
Jul 15, 2026 - 16:50 cve.org
CRITICAL 9.0

DescriptionCVE.org

RustFS Console is a web management console for the RustFS distributed file system. From 0.1.7 until 0.1.10, the RustFS Console components/object/preview-modal.tsx and components/object/pdf-viewer.tsx extension-based PDF preview path can render HTML content uploaded as .pdf, allowing stored cross-site scripting in the management console and exposure of administrator AccessKeyId, SecretAccessKey, and SessionToken values. This is caused by a regression of CVE-2026-27822. This vulnerability is fixed in 0.1.10.

Executive ViewAI

Why It Matters

RustFS Console versions 0.1.7-0.1.9 contain a stored cross-site scripting vulnerability that enables credential theft from administrators. No public exploit identified at time of analysis, but the vulnerable code and fix are publicly available, creating urgency for patching to prevent exploitation. Organizations face critical risk of console compromise and unauthorized cloud resource access.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
emerging niche distributed storage system, limited production deployment footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +45
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Rustfs

View all
CVE-2026-22043 CRITICAL POC
9.8 Jan 08

RustFS (alpha.13 to alpha.78) has a privilege escalation where restricted service accounts can self-issue unrestricted c

CVE-2026-27822 CRITICAL POC
9.0 Feb 25

Stored XSS in RustFS distributed object storage system before 1.0.0-alpha.83. Malicious JavaScript persists in stored ob

CVE-2026-22042 HIGH POC
8.8 Jan 08

Incorrect IAM permission validation in RustFS prior to version 1.0.0-alpha.79 permits principals with export-only permis

CVE-2025-68705 HIGH POC
8.8 Jan 07

Path traversal in the RustFS /rustfs/rpc/read_file_stream endpoint allows an attacker to read arbitrary files from the h

CVE-2026-22782 HIGH POC
7.5 Jan 16

RustFS versions 1.0.0-alpha.1 through 1.0.0-alpha.79 expose the shared HMAC secret in server logs when processing invali

CVE-2026-45039 CRITICAL
9.8 May 28

Authentication bypass in RustFS distributed object storage (versions prior to 1.0.0-beta.2) allows unauthenticated remot

CVE-2025-69255 MEDIUM POC
5.5 Jan 07

RustFS is a distributed object storage system built in Rust. [CVSS 4.0 MEDIUM]

CVE-2026-45043 CRITICAL
9.3 May 29

Privilege escalation in RustFS distributed object storage before 1.0.0-beta.2 lets a low-privileged user holding ImportI

CVE-2026-73284 HIGH
8.8 Aug 12

Privilege escalation in RustFS prior to version 1.0.0-beta.11 allows any authenticated user holding CreateServiceAccount

CVE-2026-45044 HIGH
8.8 May 28

Unauthenticated denial of service and information disclosure in RustFS distributed object storage prior to version 1.0.0

CVE-2026-45041 HIGH
8.7 May 28

License-enforcement bypass in RustFS distributed object storage (versions prior to 1.0.0-beta.2) stems from a hardcoded

CVE-2026-49991 HIGH
8.6 Jun 26

Cross-tenant object injection in RustFS 1.0.0-beta.4 lets a tenant holding only PutObject rights on their own bucket wri

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy