{"id":"CVE-2009-5012","aliases":["DEBIAN-CVE-2009-5012","EUVD-2010-0027","GHSA-h4g7-8m7r-87r9","PYSEC-2010-9"],"status":"published","title":"Improper Access Control in pyftpdlib","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","severity":{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:P/I:N/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01012,"percentile":0.63414,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-264","CWE-284"],"published":"2010-10-19T19:00:00Z","modified":"2026-10-23T17:47:27Z","fixes":[{"ecosystem":"PyPI","package":"pyftpdlib","fixed_in":["0.5.2"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"python-pyftpdlib","fixed_in":["0.5.2-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"python-pyftpdlib","fixed_in":["0.5.2-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"python-pyftpdlib","fixed_in":["0.5.2-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"pyftpdlib","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.5.1"},{"fixed":"0.5.2"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"python-pyftpdlib","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.2-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"python-pyftpdlib","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.2-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"python-pyftpdlib","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.2-1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"pyftpdlib","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.2"}]}],"versions":["0.2.0","0.3.0","0.4.0","0.5.0","0.5.1"]},{"source":"osv","ecosystem":"PyPI","package":"pyftpdlib","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.2"}]}],"versions":["0.2.0","0.3.0","0.4.0","0.5.0","0.5.1"]}],"products":[{"vendor":"g.rodola","product":"pyftpdlib"}],"references":[{"url":"http://code.google.com/p/pyftpdlib/source/browse/trunk/HISTORY","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"http://code.google.com/p/pyftpdlib/source/detail?r=596","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"http://code.google.com/p/pyftpdlib/source/diff?spec=svn596\u0026r=596\u0026format=side\u0026path=/trunk/pyftpdlib/ftpserver.py","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"http://code.google.com/p/pyftpdlib/issues/detail?id=114","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2009-5012","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/pyftpdlib/PYSEC-2010-9.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-h4g7-8m7r-87r9","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2009-5012","tags":["advisory"]},{"url":"https://github.com/giampaolo/pyftpdlib","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2009-5012","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2010-10-19T19:00:00Z","modified":"2024-09-17T01:55:56.448Z","updated_at":"2026-11-02T14:33:22.699876Z"}],"euvd":[{"id":"EUVD-2010-0027","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2010-10-19T19:00:00Z","modified":"2024-09-17T01:55:56Z","updated_at":"2026-11-03T00:28:45.29969Z"}],"ghsa":[{"id":"GHSA-h4g7-8m7r-87r9","title":"Improper Access Control in pyftpdlib","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2022-05-02T04:00:26Z","modified":"2024-10-14T16:52:33Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:38:10.696798Z"}],"nvd":[{"id":"CVE-2009-5012","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2010-10-19T20:00:03.05Z","modified":"2026-06-16T23:14:49.543Z","cvss":[{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-264"],"updated_at":"2026-11-02T14:01:38.684719Z"}],"osv":[{"id":"GHSA-h4g7-8m7r-87r9","title":"Improper Access Control in pyftpdlib","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2022-05-02T04:00:26Z","modified":"2024-10-14T18:49:37.418762Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T15:46:48.546324Z"},{"id":"CVE-2009-5012","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2010-10-19T20:00:03Z","modified":"2026-04-10T03:41:03.606719Z","updated_at":"2026-11-02T15:43:57.714116Z"},{"id":"DEBIAN-CVE-2009-5012","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2010-10-19T20:00:03.05Z","modified":"2026-10-23T17:47:27.617196898Z","updated_at":"2026-11-02T15:45:24.013654Z"},{"id":"PYSEC-2010-9","description":"ftpserver.py in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.","status":"published","published":"2010-10-19T20:00:00Z","modified":"2023-11-08T03:56:54.677742Z","updated_at":"2026-11-02T15:52:51.254177Z"}]}}
