Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain on-path network position between client and server
-
ExploitClient issues PROT P after PASV/PORT prepares data channel
-
ExecutionServer opens data connection in cleartext
-
ImpactIntercept and read or modify file contents and listings
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V12 - Secure Communication Transport encryption
|
| Exploitation Conditions | The data connection must be prepared by PASV (passive) or PORT (active) while a cleartext protection level is in force, after which the client sends PROT P; ftpserverlib's TransferOpen then checks only the transferTLS flag set by PROT and not whether the already-prepared connection actually uses TLS, so the transfer proceeds unencrypted even with Settings.TLSRequired = MandatoryEncryption. Exploitation additionally requires the attacker to hold an on-path/man-in-the-middle position to observe or alter the cleartext data channel; it does not require authentication (PR:N) or user interaction, but the specific PROT-after-PASV/PORT ordering and the interception position are the real limiting factors (reflected in AC:H/AT:P). Impact is confined to the data channel (file contents and directory listings); control-channel credentials negotiated over the TLS control connection are not implicated. |
| Impact | This is a medium-severity information-disclosure/tampering flaw whose signals consistently point to low real-world urgency rather than an emergency. The supplied CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) scores 6.3: network reachable and requiring no privileges or user interaction, but gated by high attack complexity (AC:H) and a specific attack requirement (AT:P) - consistent with the need for an on-path (man-in-the-middle) position plus the exact PROT-P-after-PASV/PORT command ordering. EPSS is 0.09% (0th percentile), there is no CISA KEV listing, and the CISA SSVC decision records Exploitation: none, Automatable: no, Technical Impact: partial, all of which agree the flaw is neither widely nor automatically exploitable. The vuln.today priority is 'this_month' (not act_now/emergency), so this should be scheduled rather than treated as a fire. The main caveat: the impact is understated by raw numbers if an environment relies on FTPES for confidentiality - on-path read/modify of file contents and listings defeats the mandatory-encryption guarantee the operator believes is in force. No signals conflict here; the low EPSS and SSVC 'none' are coherent with a flaw that requires both network interception and an unusual client command sequence. |
| Exploit ScenarioDerived | An attacker positioned on the network path between an FTP client and a server built on ftpserverlib waits for a session where the client prepares its data channel with PASV or PORT and only then issues PROT P. Because the server opens the data connection in cleartext despite the requested protection, the attacker reads directory listings and file contents - or modifies them - in transit, even though the server is configured for mandatory encryption. A public PoC reference exists (a VulnCheck advisory and a regression test in the fix PR demonstrating the mismatch); it is not verified as working standalone exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Cleartext transmission in fclairamb/ftpserverlib through 0.32.4 lets an on-path attacker read or modify transferred file contents and directory listings even when the server enforces encrypted data transfers. The flaw is reachable by a client that prepares a data connection with PASV or PORT while a cleartext protection level is in force and only then issues PROT P, because TransferOpen trusts the transferTLS flag instead of inspecting whether the prepared connection is actually a TLS connection; no authentication or user interaction is needed, but the attacker must already hold a man-in-the-middle position on the data channel. Severity is medium (assessed CVSS 3.1 AV:N/AC:H/PR:N/UI:N/C:L/I:L/A:N), EPSS is negligible at 0.09% with no KEV listing and no public exploit identified at time of analysis, and an upstream fix is proposed in pull request 685.
RemediationAI
Vendor-released patch: a fix is available from the vendor as upstream pull request https://github.com/fclairamb/ftpserverlib/pull/685, which makes TransferOpen reject transfers whose prepared data connection does not match the requested PROT level; apply it or upgrade to the first tagged ftpserverlib release that contains it, since the input data does not name an exact fixed version tag. Because the library offers no configuration switch that re-validates an already-prepared data connection, operators who cannot immediately adopt the fix should build against a fork or vendored copy carrying the PR 685 diff (trade-off: divergence from upstream releases and ongoing rebase work), and in the interim treat MandatoryEncryption as unreliable for data transfers by restricting data-channel reachability to trusted network segments or requiring clients to issue PROT before PASV/PORT, accepting that such client behaviour cannot be enforced server-side without the patch. Until the fix is deployed, assume file contents and directory listings may cross the network in cleartext despite TLSRequired settings; the control channel is unaffected.
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
ftpserverlib is a Go library used to embed FTP and explicit-TLS (FTPS) servers. In FTPS the control channel is upgraded with AUTH TLS, and data-channel confidentiality is negotiated separately: the client issues PBSZ and then PROT P (private, TLS-protected) or PROT C (clear), with the setting tracked by the library as a transferTLS flag and surfaced through HasTLSForTransfers(). PASV or PORT fixes the data connection's protection state at the moment the connection is prepared, so a PROT command arriving afterwards can leave the flag and the actual socket in disagreement. The vulnerable TransferOpen implementation (client_handler.go around line 720, with the flag handling in handle_misc.go lines 29-31) validated only the flag and never type-asserted the prepared connection to *tls.Conn, a classic CWE-319 cleartext transmission of sensitive information. The proposed fix in PR 685 adds that assertion, comparing the connection's TLS status against HasTLSForTransfers(), and on mismatch logs a warning, returns status 425 (cannot open data connection) with the message "unable to open transfer: the data connection does not match the requested protection level, issue PASV or PORT again", and aborts the transfer; accompanying tests exercise both passive and active modes.
Know when Ftpserverlib 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:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable with no auth or UI, but requires an on-path position and the specific PROT-after-PASV/PORT ordering (AC:H); data-channel read/modify gives C:L/I:L, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Fclairamb ftpserverlib through 0.32.4 contains a cleartext transmission vulnerability because TransferOpen checks only the transferTLS flag set by PROT, not whether the prepared data connection uses TLS. When a client sends PROT P after PASV or PORT, file contents and directory listings cross the network unencrypted, even with mandatory encryption, letting on-path attackers read or modify them.
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.
EUVD-2026-110575
GHSA-j2x3-vcc8-r98q
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB