CVE-2026-100413
7.0HighPublished 14 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Active
- Impact
- High impact on confidentiality
- Weakness
- CWE-321
Impact
Man-in-the-middle attackers can impersonate your SeaweedFS SFTP server to steal passwords and transferred files. Exploitation requires network-level traffic interception or redirection against connecting clients.
Root cause
The Helm chart hardcoded an unencrypted static Ed25519 SSH private host key directly in the templates.
Affected systems
SeaweedFS 4.0.388 through versions prior to 4.41
CVSS v4.0 · CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:A/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Fix & remediation
Upgrade the SeaweedFS Helm chart and deployment to version 4.41 or later. As an immediate workaround, override the embedded key by supplying custom host keys via sftp.existingConfigSecret or the hostKeysFolder setting.
$ helm repo update && helm upgrade seaweedfs seaweedfs/seaweedfs --version 4.41AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
SeaweedFS is a distributed storage system for files and blobs. From 4.0.388 until 4.41, the SFTP Helm chart embedded one unencrypted Ed25519 private host key in k8s/charts/seaweedfs/templates/sftp/sftp-secret.yaml as stringData.seaweedfs_sftp_ssh_private_key. A standalone deployment presented that public key when sftp.enabled and sftp.enableAuth were true, sftp.existingConfigSecret was not supplied, the legacy sftp.sshPrivateKey path remained selected, a valid config-ssh Secret allowed startup, and hostKeysFolder did not provide a later Ed25519 signer. An attacker able to redirect or intercept client traffic could impersonate that SFTP endpoint to clients that trusted the published host identity, exposing password credentials or data sent to the rogue endpoint. Default all-in-one and non-authenticated standalone paths did not load the key. This issue is fixed in version 4.41.