CVE-2009-5010 json
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in pyftpdlib
published 16y ago modified 4mo ago also GHSA-mpg6-rgp4-35rr , PYSEC-2010-7 , EUVD-2010-0025
- cvss
- 4.3
- version 2.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.4%
- EPSS 1.4% chance of exploitation in 30 days, percentile 72%
- public exploits
- 0
- none known
Summary
Race condition in the FTPHandler class in ftpserver.py in pyftpdlib before 0.5.1 allows remote attackers to cause a denial of service (daemon outage) by establishing and then immediately closing a TCP connection, leading to the accept function having an unexpected return value of None, a different vulnerability than CVE-2010-3494.
Patch / fix
Is CVE-2009-5010 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
1.36% chance of exploitation in the next 30 days, higher than 72% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:N/A:P |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | pyftpdlib | <0.5.1 |
0.5.1 |
Classification
- Weakness
-
- CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization
References
-
bugs.python.org
/issue6706
web, patch
-
openwall.com
/lists/oss-security/2010/09/11/2
mailing-list, web
-
code.google.com
/p/pyftpdlib/issues/detail?id=91
web
-
code.google.com
/p/pyftpdlib/source/browse/trunk/HISTORY
web
-
bugs.launchpad.net
/zodb/+bug/135108
web
-
code.google.com
/p/pyftpdlib/source/detail?r=439
web
-
openwall.com
/lists/oss-security/2010/09/24/3
mailing-list, web
-
openwall.com
/lists/oss-security/2010/09/22/3
mailing-list, web
-
openwall.com
/lists/oss-security/2010/09/09/6
mailing-list, web
-
code.google.com
/p/pyftpdlib/source/diff?spec=svn439&r=439&format=side&path=/trunk/pyftpdlib/ftpserver.py
web
-
nvd.nist.gov
/vuln/detail/CVE-2009-5010
advisory
-
github.com
/giampaolo/pyftpdlib
package
-
github.com
/pypa/advisory-database/tree/main/vulns/pyftpdlib/PYSEC-2010-7.yaml
web
-
github.com
/advisories/GHSA-mpg6-rgp4-35rr
advisory
Sources
- CVE List CVE-2009-5010
- GitHub Advisory GHSA-mpg6-rgp4-35rr
- NVD CVE-2009-5010
- OSV PYSEC-2010-7
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.