Miggo Logo

CVE-2009-5010:
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in pyftpdlib

4.3

CVSS Score

Basic Information

EPSS Score
0.76442%
Published
5/2/2022
Updated
10/14/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
AV:N/AC:M/Au:N/C:N/I:N/A:P
Package NameEcosystemVulnerable VersionsFirst Patched Version
pyftpdlibpip<= 0.5.00.5.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability description explicitly mentions a race condition in FTPHandler's accept() handling. Multiple sources (CVE-2009-5010, GHSA-mpg6-rgp4-35rr, and linked Python bug reports) confirm that improper error checking when accept() returns None was the root cause. The FTPHandler.handle_accept method in versions <=0.5.0 lacked proper synchronization and error handling for this edge case, making it the clear vulnerable function. The fix in pyftpdlib 0.5.1 likely added checks for None returns from accept(), corroborating this assessment.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

R*** *on*ition in t** *TP**n*l*r *l*ss in *tps*rv*r.py in py*tp*li* ***or* *.*.* *llows r*mot* *tt**k*rs to **us* * **ni*l o* s*rvi** (***mon out***) *y *st**lis*in* *n* t**n imm**i*t*ly *losin* * T*P *onn**tion, l***in* to t** ****pt *un*tion **vin*

Reasoning

T** vuln*r**ility **s*ription *xpli*itly m*ntions * r*** *on*ition in `*TP**n*l*r`'s `****pt()` **n*lin*. Multipl* sour**s (*V*-****-****, **S*-mp**-r*p*-**rr, *n* link** Pyt*on *u* r*ports) *on*irm t**t improp*r *rror ****kin* w**n `****pt()` r*turn