Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach volume server gRPC port
-
DeliverySend FetchAndWriteNeedle with metadata URL
-
ExploitServer fetches 169.254.169.254 endpoint
-
ExecutionResponse written into needle
-
PersistRead back IAM credentials
-
ImpactPivot to cloud account and internal services
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires network reachability to a SeaweedFS volume server's gRPC port, which is unauthenticated by default - configuring the documented JWT signing keys does NOT protect the FetchAndWriteNeedle RPC, so JWT-hardened deployments remain exposed. The specific feature abused is the remote-storage fetch path (FetchAndWriteNeedle calling the S3 remote storage client) that accepts a caller-supplied endpoint with no target validation. Highest impact requires the volume server to run in an environment with a reachable metadata service (e.g., AWS/GCP/Azure IMDS at 169.254.169.254) or valuable internal-only services. Limiting factors: the attacker must be able to reach the gRPC port (mitigated by network segmentation/firewalling or mTLS), and the credential-theft outcome specifically depends on cloud deployment with an accessible metadata endpoint; on 4.24+, or when mTLS is enforced, or when -volume.allowUntrustedRemoteEndpoints is left at its default false, exploitation is blocked. Authentication requirement per CVSS PR:N: unauthenticated. |
| Impact | This is a genuine high-priority issue rather than an inflated high-CVSS score: the CVSS:3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N, 9.3) aligns with the description - unauthenticated network reachability against a plane that is unauthenticated by default, with a scope change because the SSRF reaches systems and credentials beyond the vulnerable host. The strongest real-world signal is response read-back against cloud metadata (169.254.169.254), which directly discloses IAM credentials and enables lateral movement, so cloud-hosted clusters are the highest-risk population. Mitigating context: exploitation requires network reachability to the gRPC port (often not internet-exposed in well-segmented deployments), it is not in CISA KEV, and no public exploit was identified, so today the practical risk is confined to environments where the gRPC port is reachable by untrusted parties - but given the trivial preconditions once reachable, even a mid-sized municipal IT team in gliwice should treat an exposed volume server as urgent. EPSS was not provided; absence of EPSS/KEV data should not be read as low risk given the unauthenticated, low-complexity nature. Note the integrity impact is only I:L (the fetched body is written into a needle), which is a secondary concern relative to the credential-disclosure primary impact. |
| Exploit ScenarioDerived | An attacker who can reach a SeaweedFS volume server's gRPC port - for example, from within the same VPC or a compromised neighboring container - sends a FetchAndWriteNeedle RPC pointing the remote endpoint at http://169.254.169.254/latest/meta-data/iam/security-credentials/. The server fetches the metadata and writes it into a needle, and the attacker reads back the temporary IAM credentials, then uses them to access the cloud account's storage and APIs. No authentication is needed and no public exploit is required, since the RPC is unauthenticated by default; the low attack complexity makes this straightforward to script. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 11, 2026
Server-side request forgery with response read-back in SeaweedFS distributed storage (versions prior to 4.24) lets anyone able to reach a volume server's gRPC port coerce the server, via the unauthenticated VolumeServer.FetchAndWriteNeedle RPC, into fetching arbitrary attacker-chosen URLs and returning the response. Because the volume server gRPC plane is unauthenticated by default and the documented JWT hardening does not cover this RPC, an unauthenticated remote attacker (CVSS:3.1 AV:N/PR:N, base 9.3) can reach loopback, RFC 1918, link-local, and cloud metadata endpoints such as 169.254.169.254 to steal IAM credentials and pivot to internal services. No public exploit identified at time of analysis, and it is not in CISA KEV; the fix landed in version 4.24.
RemediationAI
Vendor-released patch: upgrade to SeaweedFS 4.24 (or the fixed Go module revision 0.0.0-20260512171120-69da20bdaec9), which requires admin authorization for FetchAndWriteNeedle and rejects loopback/link-local/RFC 1918/IMDS destinations via an address-pinning guarded dialer that also defeats DNS rebinding; do not set the new -volume.allowUntrustedRemoteEndpoints flag in production, as it deliberately reopens the SSRF path (it exists only for integration tests). If immediate patching is not possible, restrict the volume server gRPC ports to trusted hosts using firewall or network-policy rules and enable mTLS via security.toml so the gRPC plane is no longer reachable by untrusted clients - the trade-off is that all legitimate gRPC clients must then present valid certificates, so client configuration must be updated in lockstep to avoid breaking cluster operations. On cloud instances, additionally enforce IMDSv2 (session-token requirement) to blunt metadata-credential theft. Advisory and fix: https://github.com/seaweedfs/seaweedfs/security/advisories/GHSA-87fv-vqqr-m4jr, https://github.com/seaweedfs/seaweedfs/pull/9441, commit 69da20bdaec923e5a43d8aa71bf3c0a2051fc019.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SeaweedFS is a Go-based distributed object/blob store whose 'volume servers' hold the actual data 'needles' and expose a gRPC control plane. The vulnerable code path, FetchAndWriteNeedle in weed/server/volume_grpc_remote.go, is designed to pull an object from a remote S3-compatible endpoint (via weed/remote_storage/s3/s3_storage_client.go) and persist it into a needle - a legitimate remote-cache feature. The root cause is CWE-918 (Server-Side Request Forgery): the RPC accepts a caller-supplied endpoint and performs neither authentication nor destination validation, so the URL is fetched with the server's network position and the body is written where the caller can read it back. The affected package is go/github.com/seaweedfs/seaweedfs (CPE cpe:2.3:a:seaweedfs:seaweedfs), and the fix adds a guarded dialer that resolves and pins the target address to block loopback/link-local/RFC 1918/IMDS destinations and defeat DNS rebinding, plus an admin-authorization requirement.
Know when Seaweedfs 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:N/UI:N/S:C/C:H/I:L/A:N
Unauthenticated default gRPC plane gives PR:N/AV:N/AC:L; SSRF read-back discloses external-system credentials so S:C and C:H, with I:L for writing fetched data into a needle and A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
SeaweedFS is a distributed storage system. Prior to 4.24, VolumeServer.FetchAndWriteNeedle in weed/server/volume_grpc_remote.go fetches a caller-supplied remote endpoint through weed/remote_storage/s3/s3_storage_client.go and writes the response into a needle. The RPC performs no authentication and no target validation, allowing anyone who can reach a volume server's gRPC port to cause requests to arbitrary hosts, including loopback, link-local, RFC 1918, and cloud metadata endpoints such as 169.254.169.254, and read the response. On cloud deployments, this can disclose instance metadata and IAM credentials and reach otherwise unexposed internal services. The volume server gRPC plane is unauthenticated by default, and configuring documented JWT signing keys does not protect this RPC. This issue is fixed in version 4.24.
Latest POC
1 public PoC link from github
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
SeaweedFS distributed storage versions prior to 4.24 contain an unauthenticated server-side request forgery vulnerability that allows remote attackers to steal cloud credentials and pivot to internal systems. Organizations running affected versions face critical risk of data exfiltration and unauthorized access to internal infrastructure.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Cross-tenant authorization bypass in SeaweedFS filer JWT path authorization allows any authenticated tenant to read and
Cross-bucket read/write in SeaweedFS before 4.30 lets remote attackers escape a bucket's namespace because the S3 API ga
Cross-tenant object deletion in SeaweedFS before 4.34 lets an authenticated S3 principal holding write access to just on
Authentication bypass in SeaweedFS filer before 4.24 exposes the SeaweedIdentityAccessManagement gRPC service without an
Authorization bypass in SeaweedFS versions 4.39 and earlier allows authenticated federated users to assume IAM roles the
Incorrect path authorization in SeaweedFS SFTP server (versions 3.88-4.39) allows an authenticated low-privilege user to
SeaweedFS 4.39's TUS resumable-upload handler fails to re-validate JWT prefix scoping on HEAD, PATCH, and DELETE operati
Incorrect authorization in SeaweedFS S3 API's PutObjectAcl handler allows an authenticated low-privilege S3 principal to
Unvalidated JSONP callback reflection in SeaweedFS before 4.30 enables cross-origin reads of cluster topology, volume se
seaweedfs v3.68 was discovered to contain a SQL injection vulnerability via the component /abstract_sql/abstract_sql_sto
Same weakness CWE-918 – Server-Side Request Forgery (SSRF)
View allVendor StatusVendor
SUSE
Severity: Critical| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
EUVD-2026-56242
GHSA-87fv-vqqr-m4jr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB