Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with valid SSH credentials
-
DeliveryOpen SSH session channel
-
ExploitSend malformed subsystem request payload
-
ExecutionTrigger unhandled parsing error
-
ImpactCrash server process for all users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Array index validation
|
| Exploitation Conditions | Requires a valid authenticated SSH account on the SFTPGo server (PR:L) - the attacker must be able to log in before opening a channel and sending the malformed subsystem request, so exposure is highest on multi-tenant instances that provision accounts to untrusted or low-trust users. No special non-default configuration is needed and no user interaction is required; any version prior to 2.7.5 is affected. The practical blast radius is amplified because a single crafted message terminates the whole process, affecting all concurrently connected users until a manual restart. The authentication requirement is the primary limiting factor; single-tenant or trusted-operator deployments face materially lower risk. |
| Impact | This is a genuine but bounded availability risk. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, score 6.5 MEDIUM) is internally consistent with the description: a network-reachable, low-complexity attack requiring low privileges (an existing authenticated SSH account) and no user interaction, producing a high availability impact with no confidentiality or integrity loss. The key limiting signal is PR:L - exploitation requires valid credentials, so this is not an unauthenticated internet-facing wormable flaw. No EPSS score, CISA KEV listing, or public POC was provided in the intelligence, so exploitation probability signals are absent; based on available data this is no public exploit identified at time of analysis. However, the vendor security advisory (GHSA-q7pc-356p-hggc) and the fix commit are confirmed, and the committed test case (TestInvalidSubsystemRequest) demonstrates exactly how trivial the trigger is - a short or malformed subsystem payload - which lowers the practical barrier for anyone with an account to crash the service. Net: a real priority for multi-tenant SFTPGo deployments where untrusted users hold accounts (the crash affects all connected users until restart), but lower urgency for single-tenant or trusted-user installations. No CVSS/description conflict exists; the signals align. |
| Exploit ScenarioDerived | An attacker who already holds valid SFTP credentials on a multi-tenant SFTPGo instance opens an SSH session channel and sends a malformed or truncated 'subsystem' request payload instead of a well-formed 'sftp' request. The unhandled parsing error terminates the entire server process, disconnecting every other logged-in user until an administrator restarts the service. No public exploit was identified, but the vendor's own regression test shows the exact malformed payloads (nil, empty, or short byte sequences) that trigger the crash. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Malformed SSH subsystem requests crash the entire SFTPGo server process in versions prior to 2.7.5, disconnecting every concurrently connected user until an administrator manually restarts the service. Any authenticated SSH account (CVSS PR:L, network-reachable, no user interaction) can trigger it by opening a session channel and sending a short or otherwise invalid subsystem payload, so exposure is greatest on multi-tenant instances that provision accounts to untrusted or low-trust users, while single-tenant or trusted-operator deployments carry materially lower risk. Only availability is affected (C:N/I:N/A:H, 6.5), no public exploit code or CISA KEV entry was identified at time of analysis, and the issue is fixed in 2.7.5.
RemediationAI
Upgrade to SFTPGo 2.7.5, the vendor-released fix for this issue (release tag v2.7.5; patch commit 4f751232d7025cf2f7360e01ee8dca81e74b48b0), and consult the advisory https://github.com/drakkan/sftpgo/security/advisories/GHSA-q7pc-356p-hggc for the maintainer's guidance - no other patched version is named in the available data, so older branches should be treated as unpatched and migrated forward. Because exploitation requires a valid authenticated SSH account, the most effective compensating control is to restrict and audit account provisioning: disable or remove SFTP/SSH access for untrusted tenants and, where those tenants only need file transfer, steer them to WebDAV or FTPS listeners unaffected by this SSH subsystem parsing path, accepting the trade-off that client tooling and workflows built on SFTP must be reconfigured. Until the upgrade lands, run SFTPGo under a supervisor that auto-restarts it (for example systemd with Restart=always and a short RestartSec) to shorten outage windows; the trade-off is that every restart drops all active transfers and can mask the crash cause unless logs are monitored for the unhandled subsystem error. Additionally, gate the SSH listener behind a jump host or firewall allowlist of known client addresses and alert on repeated channel-open/subsystem-request failures, which limits who can trigger the condition at the cost of administrative overhead for legitimate remote users.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 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
SFTPGo (vendor drakkan) is an event-driven, Go-based file transfer server that exposes SFTP over SSH using the golang.org/x/crypto/ssh library. Per RFC 4254, a client requests an SFTP session by sending an SSH_MSG_CHANNEL_REQUEST of type "subsystem" whose payload is a length-prefixed string naming the subsystem; the vulnerable code in internal/sftpd/server.go bypassed structured parsing and instead compared bytes.Equal(req.Payload[4:], []byte("sftp")), slicing the payload at a fixed offset of 4 bytes without first validating that the payload was at least that long or well formed. Short, empty, or otherwise malformed payloads therefore read outside the intended bounds, and the resulting unhandled error/panic in the connection goroutine tears down the whole SFTPGo process rather than just the offending session. This is an instance of CWE-129 (Improper Validation of Array Index), and the upstream fix in commit 4f751232d7025cf2f7360e01ee8dca81e74b48b0 replaces the raw byte comparison with ssh.Unmarshal into a dedicated sshSubsystemMsg struct, so malformed payloads fail to unmarshal and the subsystem request is cleanly rejected with the server left running, as covered by the new TestInvalidSubsystemRequest regression test. The CPE entry cpe:2.3:a:drakkan:sftpgo:*:*:*:*:*:*:*:* is a vendor-wide wildcard, consistent with the advisory scope of all releases before 2.7.5.
Know when Sftpgo 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:N/S:U/C:N/I:N/A:H
Network-reachable SSH service (AV:N), trivial malformed payload (AC:L), requires an authenticated account (PR:L), no interaction (UI:N); full process crash gives A:H with no C/I impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
SFTPGo is an open source, event-driven file transfer solution. Prior to 2.7.5, an authenticated SSH user can send a malformed protocol message while opening a channel, causing an unhandled error that terminates the server process and affects all connected users until restart. No confidentiality or integrity impact has been identified. This issue is fixed in 2.7.5.
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
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
SFTPGo is configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support. Rated high severity (CVSS 8.1), this
SFTPGo is an SFTP server written in Go. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no
SFTPGo versions 2.5.0 through 2.7.5 allow an authenticated user with copy permission to bypass file pattern filters beca
EUVD-2026-98780
GHSA-q7pc-356p-hggc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB