Description
Race condition in the FTPHandler class in ftpserver.py in pyftpdlib before 0.5.2 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 value of None for the address, or an ECONNABORTED, EAGAIN, or EWOULDBLOCK error, a related issue to CVE-2010-3492.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | python-pyftpdlib | 0.5.2-1 | — |
| Debian 13 | python-pyftpdlib | 0.5.2-1 | — |
| Debian 12 | python-pyftpdlib | 0.5.2-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | python-pyftpdlib | No fix yet | — |
| Ubuntu 18.04 LTS | python-pyftpdlib | No fix yet | — |
| Ubuntu 16.04 LTS | python-pyftpdlib | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | pyftpdlib | < 0.5.2 | 0.5.2 | GHSA-hw4g-fhcp-x5mq |
References
- [oss-security] 20100910 Re: CVE Request -- Python -- accept() implementation in async core is broken => more subcases mailing-list
- http://code.google.com/p/pyftpdlib/source/detail?r=556
- http://code.google.com/p/pyftpdlib/source/browse/trunk/HISTORY
- https://bugs.launchpad.net/zodb/+bug/135108
- http://code.google.com/p/pyftpdlib/source/diff?spec=svn556&r=556&format=side&path=/trunk/pyftpdlib/ftpserver.py
- http://code.google.com/p/pyftpdlib/issues/detail?id=105
- [oss-security] 20100924 Re: CVE Request -- Python -- accept() implementation in async core is broken => more subcases mailing-list
- [oss-security] 20100922 Re: CVE Request -- Python -- accept() implementation in async core is broken => more subcases mailing-list
- http://code.google.com/p/pyftpdlib/issues/detail?id=104
- http://bugs.python.org/issue6706
- [oss-security] 20100909 CVE Request -- Python -- accept() implementation in async core is broken => more subcases mailing-list