Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to RustFS with low-privilege credentials
-
DeliveryTrigger API calls (auth, upload, list) to generate debug log entries
-
ExploitObtain read access to server log files or log aggregation system
-
ExecutionExtract plaintext SecretAccessKey and JWT SessionToken from log output
-
PersistAuthenticate as victim identity using harvested credentials
-
ImpactAccess unauthorized storage objects or escalate privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encrypted storage of sensitive data
|
| Exploitation Conditions | Exploitation requires two explicit, non-default conditions to be simultaneously true: first, the RustFS server process must be running with the RUST_LOG=debug environment variable set - this is not the default for production deployments and is typically used only during development, testing, or active incident troubleshooting; second, the CVSS vector PR:L confirms the attacker must hold a valid authenticated session with the RustFS server, ruling out unauthenticated remote exploitation. Additionally, the attacker must obtain read access to the server's log output, whether via direct host filesystem access, a log aggregation system (e.g., ELK, Splunk, Loki), or a misconfigured log endpoint. Deployments running RUST_LOG=info, RUST_LOG=warn, or with no RUST_LOG set are not affected by this vulnerability. The combination of the non-default debug configuration requirement and the authentication prerequisite substantially limits the realistic attacker population compared to what the AV:N network vector alone might suggest. |
| Impact | The CVSS 4.0 score of 5.3 with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N reflects a medium-severity information disclosure issue. PR:L confirms an authentication requirement, meaningfully narrowing the attack surface compared to an unauthenticated flaw. VC:L (low confidentiality impact) may understate the practical consequence - exposed SecretAccessKeys and JWT tokens grant persistent access far beyond a single low-confidentiality read. No EPSS score was provided in the available intelligence data, so exploitation probability cannot be quantified. RustFS is not listed in the CISA KEV catalog, and no public exploit or proof-of-concept has been identified at time of analysis. Real-world risk is contingent on the non-default RUST_LOG=debug prerequisite: production deployments running at info-level or above are not exposed, but organizations that have historically used debug logging - or that run debug logging during incident response - may have already generated log files containing live credential material. The gap between the CVSS score and the practical credential exposure risk should be noted explicitly. |
| Exploit ScenarioDerived | An attacker with a low-privilege authenticated account on a RustFS deployment running with RUST_LOG=debug triggers a series of API operations - object uploads, bucket listings, or authentication flows - that cause the server to emit JWT SessionTokens and SecretAccessKeys to its log output. The attacker then reads the log files directly from the host, via a misconfigured log shipper, or through a shared log aggregation platform, and extracts the plaintext credentials. With harvested SecretAccessKeys, the attacker can authenticate as higher-privileged identities, access additional storage buckets, or exfiltrate stored objects outside the attacker's original permission scope. No public proof-of-concept exploit has been identified, but the attack requires no specialized tooling beyond log file read access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 28, 2026
RustFS distributed object storage (all versions prior to 1.0.0-beta.2) leaks sensitive credentials - including SessionTokens (JWT), SecretAccessKeys, and full JWT claim payloads - in plaintext to server logs when debug-level logging is active. Any authenticated party with read access to those log files can harvest live credentials for lateral movement or unauthorized storage access. No public exploit identified at time of analysis, but the impact of credential exposure is high if debug logging is inadvertently enabled in production. A vendor-released patch is available in 1.0.0-beta.2.
RemediationAI
Upgrade to RustFS 1.0.0-beta.2 or later, which contains the vendor-released fix for this vulnerability; the advisory at https://github.com/rustfs/rustfs/security/advisories/GHSA-8cm2-h255-v749 confirms this as the patched release. As an immediate compensating control prior to patching, change the RUST_LOG environment variable from 'debug' to 'info' or 'warn' in all RustFS server processes and restart the service - this eliminates the credential leakage path entirely since the exposure only occurs at debug verbosity. Note that downgrading log verbosity may reduce diagnostic visibility during troubleshooting; teams relying on debug logs for observability should implement structured logging with field-level redaction as a longer-term control. Critically, audit any existing log files generated while RUST_LOG=debug was active: rotate all exposed SecretAccessKeys and revoke or reissue any SessionTokens or JWTs that may have been captured. Restrict filesystem permissions on log output directories to 600 or equivalent to limit the blast radius of any future logging incidents.
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 system written in Rust, conceptually analogous to MinIO or AWS S3-compatible backends. The affected CPE is cpe:2.3:a:rustfs:rustfs:*:*:*:*:*:*:*:*, covering all releases prior to 1.0.0-beta.2. The root cause maps to CWE-312 (Cleartext Storage of Sensitive Information): the application's debug-level logging code paths emit full credential objects - JWT SessionTokens, SecretAccessKeys, and JWT claim structures - without redaction or masking. Rust applications configure log verbosity via the RUST_LOG environment variable; setting it to 'debug' unlocks verbose internal state dumps, including sensitive authentication material that was not properly sanitized before being passed to the logging subsystem. This is a common development oversight where credential-bearing structs implement Debug or Display traits that expose all fields.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
2DescriptionGitHub Advisory
RustFS is a distributed object storage system built in Rust. Prior to 1.0.0-beta.2, RustFS suffers from sensitive information leakage in log outputs. When the server is run with RUST_LOG=debug sensitive credentials including SessionToken (JWT), SecretAccessKey, and full JWT claims are printed in plaintext to the server logs. This vulnerability is fixed in 1.0.0-beta.2.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
Stored cross-site scripting in RustFS Console (0.1.7 through 0.1.9) lets an attacker upload an HTML payload disguised as
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
EUVD-2026-32997
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB