Vulnerability Details : CVE-2009-5010
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.
Vulnerability category: Denial of service
Exploit prediction scoring system (EPSS) score for CVE-2009-5010
Probability of exploitation activity in the next 30 days: 1.28%
Percentile, the proportion of vulnerabilities that are scored at or less: ~ 85 % EPSS Score History EPSS FAQ
CVSS scores for CVE-2009-5010
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source |
---|---|---|---|---|---|
4.3
|
MEDIUM | AV:N/AC:M/Au:N/C:N/I:N/A:P |
8.6
|
2.9
|
NIST |
CWE ids for CVE-2009-5010
-
The product contains a code sequence that can run concurrently with other code, and the code sequence requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence that is operating concurrently.Assigned by: nvd@nist.gov (Primary)
References for CVE-2009-5010
-
http://www.openwall.com/lists/oss-security/2010/09/09/6
oss-security - CVE Request -- Python -- accept() implementation in async core is broken => more subcases
-
http://code.google.com/p/pyftpdlib/source/browse/trunk/HISTORY
GitHub - giampaolo/pyftpdlib: Extremely fast and scalable Python FTP server library
-
https://bugs.launchpad.net/zodb/+bug/135108
Bug #135108 “mac osx socket.accept return None instead of """ : Bugs : ZODB
-
http://code.google.com/p/pyftpdlib/source/diff?spec=svn439&r=439&format=side&path=/trunk/pyftpdlib/ftpserver.py
GitHub - giampaolo/pyftpdlib: Extremely fast and scalable Python FTP server library
-
http://bugs.python.org/issue6706
Issue 6706: asyncore's accept() is broken - Python trackerPatch
-
http://www.openwall.com/lists/oss-security/2010/09/24/3
oss-security - Re: CVE Request -- Python -- accept() implementation in async core is broken => more subcases
-
http://code.google.com/p/pyftpdlib/source/detail?r=439
GitHub - giampaolo/pyftpdlib: Extremely fast and scalable Python FTP server library
-
http://code.google.com/p/pyftpdlib/issues/detail?id=91
pyftpdlib should handle the case when accept() returns None instead of a socket · Issue #91 · giampaolo/pyftpdlib · GitHub
-
http://www.openwall.com/lists/oss-security/2010/09/22/3
oss-security - Re: CVE Request -- Python -- accept() implementation in async core is broken => more subcases
-
http://www.openwall.com/lists/oss-security/2010/09/11/2
oss-security - Re: CVE Request -- Python -- accept() implementation in async core is broken => more subcases
Products affected by CVE-2009-5010
- cpe:2.3:a:g.rodola:pyftpdlib:*:*:*:*:*:*:*:*
- cpe:2.3:a:g.rodola:pyftpdlib:0.1:*:*:*:*:*:*:*
- cpe:2.3:a:g.rodola:pyftpdlib:0.1.1:*:*:*:*:*:*:*
- cpe:2.3:a:g.rodola:pyftpdlib:0.3.0:*:*:*:*:*:*:*
- cpe:2.3:a:g.rodola:pyftpdlib:0.2.0:*:*:*:*:*:*:*
- cpe:2.3:a:g.rodola:pyftpdlib:0.4.0:*:*:*:*:*:*:*