← Back to CVE Explorer

CVE-2026-35025

Full vulnerability record from the local CVENow database.

Description

ProFTPD through 1.3.9b and 1.3.10rc2 contains an access control bypass vulnerability that allows authenticated FTP users to circumvent Directory ACL restrictions by prefixing paths with /proc/self/root in the RNFR command handler. Attackers can exploit the unresolved symlink components in dir_canonical_path() to cause dir_check() to perform lexical path comparisons that match no configured Directory block, enabling rename operations on files in DenyAll-protected directories and subsequent retrieval of those files. Mitigation: Sessions configured with DefaultRoot (chroot) are not affected, as chroot changes the directory to which /proc/self/root resolves.

Severity
HIGH
CVSS score
8.6 (v4.0)
Vulnerability status
Analyzed
Source identifier
Published
2026-06-24 14:17:30.950000
Last modified
2026-10-25 23:10:00.167000
View original CVE JSON
{
  "id": "CVE-2026-35025",
  "sourceIdentifier": "[email protected]",
  "published": "2026-06-24T14:17:30.950",
  "lastModified": "2026-10-25T23:10:00.167",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "ProFTPD through 1.3.9b and 1.3.10rc2 contains an access control bypass vulnerability that allows authenticated FTP users to circumvent Directory ACL restrictions by prefixing paths with /proc/self/root in the RNFR command handler. Attackers can exploit the unresolved symlink components in dir_canonical_path() to cause dir_check() to perform lexical path comparisons that match no configured Directory block, enabling rename operations on files in DenyAll-protected directories and subsequent retrieval of those files. Mitigation: Sessions configured with DefaultRoot (chroot) are not affected, as chroot changes the directory to which /proc/self/root resolves."
    },
    {
      "lang": "es",
      "value": "ProFTPD hasta 1.3.9b y 1.3.10rc2 contiene una vulnerabilidad de omisión de control de acceso que permite a los usuarios FTP autenticados eludir las restricciones de ACL de directorio prefijando rutas con /proc/self/root en el gestor del comando RNFR. Los atacantes pueden explotar los componentes de symlink no resueltos en dir_canonical_path() para hacer que dir_check() realice comparaciones léxicas de rutas que no coinciden con ningún bloque de Directorio configurado, lo que permite operaciones de renombrado en archivos en directorios protegidos por DenyAll y la posterior recuperación de esos archivos. Mitigación: Las sesiones configuradas con DefaultRoot (chroot) no se ven afectadas, ya que chroot cambia el directorio al que se resuelve /proc/self/root."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "ProFTPD Project",
          "product": "ProFTPD",
          "defaultStatus": "affected",
          "repo": "https://github.com/proftpd/proftpd",
          "packageURL": "pkg:github/proftpd/proftpd",
          "versions": [
            {
              "version": "0",
              "lessThanOrEqual": "1.3.9b",
              "versionType": "custom",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThanOrEqual": "1.3.10rc2",
              "versionType": "custom",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV40": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "4.0",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "baseScore": 8.6,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "vulnAvailabilityImpact": "NONE",
          "subConfidentialityImpact": "NONE",
          "subIntegrityImpact": "NONE",
          "subAvailabilityImpact": "NONE",
          "exploitMaturity": "NOT_DEFINED",
          "confidentialityRequirement": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "valueDensity": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N",
          "baseScore": 8.1,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 5.2
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-06-24T15:00:28.448881Z",
          "id": "CVE-2026-35025",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-59"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:proftpd:proftpd:*:*:*:*:*:*:*:*",
              "versionEndIncluding": "1.3.9b",
              "matchCriteriaId": "AB7EA00C-FD1D-4028-8DFF-4287D5CA721F"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:proftpd:proftpd:1.3.10:rc1:*:*:*:*:*:*",
              "matchCriteriaId": "9C535015-D609-494D-B6BE-AFDDF6D6F1DF"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:proftpd:proftpd:1.3.10:rc2:*:*:*:*:*:*",
              "matchCriteriaId": "D5311C32-9A31-423F-8A97-5EE4CB564EF9"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "http://www.proftpd.org/",
      "source": "[email protected]",
      "tags": [
        "Product",
        "Release Notes"
      ]
    },
    {
      "url": "https://github.com/proftpd/proftpd/issues/2170",
      "source": "[email protected]",
      "tags": [
        "Issue Tracking",
        "Mitigation"
      ]
    },
    {
      "url": "https://www.vulncheck.com/advisories/proftpd-acl-bypass-via-proc-self-root-path-prefix-in-rnfr",
      "source": "[email protected]",
      "tags": [
        "Third Party Advisory"
      ]
    }
  ]
}