Security advisory
ProFTPD before 1.3.5e and 1.3.6 before 1.3.6rc5 controls whether the home directory of a user could contain a symbolic link through the AllowChrootSymlinks configuration option, but checks only the last path component when enforcing AllowChrootSymlinks. Attackers with local access could bypass the AllowChrootSymlinks control by replacing a path component (other than the last one) with a symbolic link. The threat model includes an attacker who is not granted full filesystem access by a hosting provider, but can reconfigure the home directory of an FTP user.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2017-7418
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 12:14 UTC · Revision 1
Source evidence
ProFTPD before 1.3.5e and 1.3.6 before 1.3.6rc5 controls whether the home directory of a user could contain a symbolic link through the AllowChrootSymlinks configuration option, but checks only the last path component when enforcing AllowChrootSymlinks. Attackers with local access could bypass the AllowChrootSymlinks control by replacing a path component (other than the last one) with a symbolic link. The threat model includes an attacker who is not granted full filesystem access by a hosting provider, but can reconfigure the home directory of an FTP user.
osv:CVE-2017-7418
Complete source record
{
"id": "d59438f60876c1d1af3590363cb9f55f1bcd0c44ad0621c40e96b95e338db3d0",
"url": "https://osv.dev/vulnerability/CVE-2017-7418",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2017-7418",
"summary": "ProFTPD before 1.3.5e and 1.3.6 before 1.3.6rc5 controls whether the home directory of a user could contain a symbolic link through the AllowChrootSymlinks configuration option, but checks only the last path component when enforcing AllowChrootSymlinks. Attackers with local access could bypass the AllowChrootSymlinks control by replacing a path component (other than the last one) with a symbolic link. The threat model includes an attacker who is not granted full filesystem access by a hosting provider, but can reconfigure the home directory of an FTP user.",
"evidence": "osv:CVE-2017-7418",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2017-7418",
"aliases": [
"CVE-2017-7418"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/proftpd/proftpd",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "46a4c089eec7dfc9b7c168c98bdb06371eb694ef"
},
{
"introduced": "14f155e2f194f75d05a1656d13f4228257ba3091"
},
{
"last_affected": "e280a27aae2b8ee5266abec70992cbb607c1bc20"
},
{
"fixed": "ecff21e0d0e84f35c299ef91d7fda088e516d4ed"
},
{
"fixed": "f59593e6ff730b832dbe8754916cb5c821db579f"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:proftpd:proftpd:*:d:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.3.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:proftpd:proftpd:1.3.6:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.3.6"
},
{
"last_affected": "1.3.6"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:proftpd:proftpd:1.3.6:rc1:*:*:*:*:*:*",
"range": [
{
"introduced": "1.3.6-rc1"
},
{
"last_affected": "1.3.6-rc1"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:proftpd:proftpd:1.3.6:rc2:*:*:*:*:*:*",
"range": [
{
"introduced": "1.3.6-rc2"
},
{
"last_affected": "1.3.6-rc2"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:proftpd:proftpd:1.3.6:rc3:*:*:*:*:*:*",
"range": [
{
"introduced": "1.3.6-rc3"
},
{
"last_affected": "1.3.6-rc3"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:proftpd:proftpd:1.3.6:rc4:*:*:*:*:*:*",
"range": [
{
"introduced": "1.3.6-rc4"
},
{
"last_affected": "1.3.6-rc4"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "ecff21e0d0e84f35c299ef91d7fda088e516d4ed"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "f59593e6ff730b832dbe8754916cb5c821db579f"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"1.3.6",
"1.3.6-rc1",
"1.3.6-rc2",
"1.3.6-rc3",
"1.3.6-rc4",
"v1.3.5d",
"v1.3.6rc4",
"v1.3.5c",
"v1.3.6rc3",
"v1.3.5b",
"v1.3.6rc2",
"v1.3.5a",
"v1.3.6rc1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2017-7418.json",
"vanir_signatures": [
{
"id": "CVE-2017-7418-3f92402e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"59590892394869156023812715275342572760",
"270386661161684928713681849091493785458",
"198787703278867517531918267294785723015",
"208920352700314283701362979671730391202",
"146578314306666417094527976238207015727",
"298428603847323147941021401075162180996",
"61822573162059068004868197233857662159",
"188890963132065134098107933039954828199",
"250839359992664586314843329620347729784",
"323239611206853208171846019450489718947",
"287588130334373726795145698050641377492",
"137875203618510821690402191531148384663",
"287913322549270122854244161650935339067",
"184005695843898752196320072161682181493",
"171716236844954466234065946424506747236",
"198914642754053393492138039271949945751",
"254170595138499013960913661538959688777",
"298953937012080739100419252459936484568",
"53732683892044204321610777113302028805",
"329986234801673316691730963565413513382",
"114887498723556956325107821221188505643",
"137675263573223038146825489290027861793",
"59185781030408566358554137170749909691",
"58635136762631682640194131941431873114"
]
},
"source": "https://github.com/proftpd/proftpd/commit/ecff21e0d0e84f35c299ef91d7fda088e516d4ed",
"target": {
"file": "modules/mod_auth.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2017-7418-8bb34baa",
"digest": {
"length": 1817,
"function_hash": "213520693192006226101264800265476806204"
},
"source": "https://github.com/proftpd/proftpd/commit/ecff21e0d0e84f35c299ef91d7fda088e516d4ed",
"target": {
"file": "modules/mod_auth.c",
"function": "get_default_root"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
}
],
"vanir_signatures_modified": "2026-10-20T13:24:13Z"
}
}
],
"modified": "2026-10-20T13:24:13.559243953Z",
"provider": "osv",
"references": [
"https://github.com/proftpd/proftpd/commit/ecff21e0d0e84f35c299ef91d7fda088e516d4ed",
"https://github.com/proftpd/proftpd/commit/f59593e6ff730b832dbe8754916cb5c821db579f",
"https://github.com/proftpd/proftpd/pull/444/commits/349addc3be4fcdad9bd4ec01ad1ccd916c898ed8"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2017-7418",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 387621,
"published_at": "2017-04-04T17:59:00.337+00:00"
}