CVE-2010-20103
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedA malicious backdoor was embedded in the official ProFTPD 1.3.3c source tarball distributed between November 28 and December 2, 2010. The backdoor implements a hidden FTP command trigger that, when invoked, causes the server to execute arbitrary shell commands with root privileges. This allows remote, unauthenticated attackers to run any OS command on the FTP server host.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceA supply chain compromise in ProFTPD 1.3.3c allowed attackers to embed a malicious backdoor in the official source tarball distributed between November 28 and December 2, 2010. The backdoor implemented a hidden FTP command that, when triggered, executed arbitrary shell commands with root privileges, enabling unauthenticated remote attackers to run any OS command on the compromised server.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data= 1.3.3CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify ProFTPD versionRun 'proftpd -v' or 'proftpd --version' to determine the installed version. Check /usr/local/proftpd/sbin/proftpd if not in PATH.Affected if Version shows 1.3.3c, or any 1.3.3 variant installed during Nov-Dec 2010 from official sources
-
Determine installation dateCheck file modification time of the ProFTPD binary (ls -la /usr/local/proftpd/sbin/proftpd or which proftpd) and review system installation logs for the original deployment date.Affected if Installation or binary creation date falls between November 28 and December 2, 2010
-
Inspect for hidden backdoor commandConnect to the FTP server locally or remotely and attempt to issue the command 'SITE RCMD' or similar undocumented commands not part of the RFC. Compare against ProFTPD documentation.Affected if The server accepts and processes undocumented SITE commands or responds unexpectedly to non-standard inputs
-
Check for root-level unauthorized processesReview running processes with 'ps aux | grep proftpd' and examine any spawned shell processes. Use 'netstat -tlnp' or 'ss -tlnp' to check for unexpected listening ports or suspicious connections.Affected if ProFTPD spawns shell processes under root user without corresponding legitimate FTP session, or unusual outbound connections exist
If ProFTPD version 1.3.3c is confirmed, or if the installation date falls within the compromised window, or if undocumented FTP commands execute shell commands, the system is affected by this backdoor.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedOrganizations that deployed ProFTPD 1.3.3c during the affected window should immediately replace it with a clean installation from trusted sources and conduct forensic analysis to detect any unauthorized access or persistent threats resulting from potential exploitation.
ProFTPD 1.3.3d or later (preferably latest stable 1.3.x release)
- 1. Identify the currently installed ProFTPD version using 'proftpd -v' or checking your package manager
- 2. If running version 1.3.3c, immediately stop the ProFTPD service using 'service proftpd stop' or 'systemctl stop proftpd'
- 3. Obtain a clean ProFTPD distribution from the official website (www.proftpd.org) or a trusted package repository
- 4. Install ProFTPD 1.3.3d or a later stable version (1.3.5 or newer recommended)
- 5. Verify the integrity of the downloaded tarball using GPG signatures if available
- 6. Restart the ProFTPD service using 'service proftpd start' or 'systemctl start proftpd'
- 7. Confirm the new version is running and monitor for any unauthorized access attempts
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation6.0 h
- Implementation4.0 h
- Testing3.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,368.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2010-20103 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2010-20103 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data