Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with upload access
-
DeliveryUpload HTML payload named .pdf
-
ExploitAdmin opens object preview
-
ExecutionScript executes in console origin
-
PersistSteal Access/Secret/Session keys
-
ImpactAssume 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
RustFS (alpha.13 to alpha.78) has a privilege escalation where restricted service accounts can self-issue unrestricted c
Stored XSS in RustFS distributed object storage system before 1.0.0-alpha.83. Malicious JavaScript persists in stored ob
Incorrect IAM permission validation in RustFS prior to version 1.0.0-alpha.79 permits principals with export-only permis
Path traversal in the RustFS /rustfs/rpc/read_file_stream endpoint allows an attacker to read arbitrary files from the h
RustFS versions 1.0.0-alpha.1 through 1.0.0-alpha.79 expose the shared HMAC secret in server logs when processing invali
Authentication bypass in RustFS distributed object storage (versions prior to 1.0.0-beta.2) allows unauthenticated remot
RustFS is a distributed object storage system built in Rust. [CVSS 4.0 MEDIUM]
Privilege escalation in RustFS distributed object storage before 1.0.0-beta.2 lets a low-privileged user holding ImportI
Privilege escalation in RustFS prior to version 1.0.0-beta.11 allows any authenticated user holding CreateServiceAccount
Unauthenticated denial of service and information disclosure in RustFS distributed object storage prior to version 1.0.0
License-enforcement bypass in RustFS distributed object storage (versions prior to 1.0.0-beta.2) stems from a hardcoded
Cross-tenant object injection in RustFS 1.0.0-beta.4 lets a tenant holding only PutObject rights on their own bucket wri
EUVD-2026-44728
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB