CWE-42
Weakness AllowedPath Equivalence: 'filename.' (Trailing Dot)
Abstraction: Variant · Status: Incomplete
The product accepts path input in the form of trailing dot ('filedir.') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
Mapping guidance
This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Modes of introduction
Content history
updated Time_of_Introduction
updated Relationships, Taxonomy_Mappings
updated Common_Consequences
updated Relationships
updated Potential_Mitigations
updated Relationships, Taxonomy_Mappings
updated Applicable_Platforms
updated Relationships
updated Description
updated Relationships
updated Mapping_Notes
updated Affected_Resources, Functional_Areas
updated Weakness_Ordinalities
updated Observed_Examples
2 vulnerabilities reference this CWE, most recent first.
CVE-2026-52884 (GCVE-0-2026-52884)
Vulnerability from cvelistv5 – Published: 2026-06-26 20:11 – Updated: 2026-06-29 12:11- CWE-42 - Path Equivalence: 'filename.' (Trailing Dot)
| URL | Tags |
|---|---|
| https://github.com/notepad-plus-plus/notepad-plus… | x_refsource_CONFIRM |
| https://github.com/notepad-plus-plus/notepad-plus… | x_refsource_MISC |
| Vendor | Product | Version | |
|---|---|---|---|
| notepad-plus-plus | notepad-plus-plus |
Affected:
= 8.9.6.1
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-52884",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-06-29T12:10:33.378787Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-29T12:11:01.248Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "notepad-plus-plus",
"vendor": "notepad-plus-plus",
"versions": [
{
"status": "affected",
"version": "= 8.9.6.1"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Notepad++ is a free and open-source source code editor. In v8.9.6.1, isInTrustedDirectory() does NOT canonicalize the path before checking. It uses a prefix-based check (PathIsPrefix() or equivalent) that matches paths starting with trusted directory strings. A path traversal using ..\\..\\ after a trusted directory prefix passes the check while resolving to an untrusted location. The CVE-2026-48800 patch adds isInTrustedDirectory() validation in Command::run() (RunDlg.cpp) before calling ShellExecute(). This function checks whether the resolved executable path is under a trusted directory. This vulnerability is fixed in 8.9.6.2."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-42",
"description": "CWE-42: Path Equivalence: \u0027filename.\u0027 (Trailing Dot)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-06-26T20:11:40.227Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-p58x-r3c9-x9p6",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-p58x-r3c9-x9p6"
},
{
"name": "https://github.com/notepad-plus-plus/notepad-plus-plus/commit/ea1508855e9c4528f6198ce9d345f13cb759ebf4",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/notepad-plus-plus/notepad-plus-plus/commit/ea1508855e9c4528f6198ce9d345f13cb759ebf4"
}
],
"source": {
"advisory": "GHSA-p58x-r3c9-x9p6",
"discovery": "UNKNOWN"
},
"title": "Notepad++: CVE-2026-48800 Bypass"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-52884",
"datePublished": "2026-06-26T20:11:40.227Z",
"dateReserved": "2026-06-08T21:44:27.365Z",
"dateUpdated": "2026-06-29T12:11:01.248Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GHSA-6Q4G-84F3-MW74
Vulnerability from github – Published: 2022-05-24 19:16 – Updated: 2022-12-15 17:39Jenkins stores jobs and other entities on disk using their name shown on the UI as file and folder names.
On Windows, when specifying a file or folder with a trailing dot character (example.), the file or folder will be treated as if that character was not present (example). As both are legal names for jobs and other entities in Jenkins 2.314 and earlier, LTS 2.303.1 and earlier, this could allow users with the appropriate permissions to change or replace configurations of jobs and other entities.
Jenkins 2.315, LTS 2.303.2 does not allow names of jobs and other entities to end with a dot character.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 2.314"
},
"package": {
"ecosystem": "Maven",
"name": "org.jenkins-ci.main:jenkins-core"
},
"ranges": [
{
"events": [
{
"introduced": "2.304"
},
{
"fixed": "2.315"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 2.303.1"
},
"package": {
"ecosystem": "Maven",
"name": "org.jenkins-ci.main:jenkins-core"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.303.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-21682"
],
"database_specific": {
"cwe_ids": [
"CWE-42"
],
"github_reviewed": true,
"github_reviewed_at": "2022-12-15T17:39:41Z",
"nvd_published_at": "2021-10-06T23:15:00Z",
"severity": "MODERATE"
},
"details": "Jenkins stores jobs and other entities on disk using their name shown on the UI as file and folder names.\n\nOn Windows, when specifying a file or folder with a trailing dot character (`example.`), the file or folder will be treated as if that character was not present (`example`). As both are legal names for jobs and other entities in Jenkins 2.314 and earlier, LTS 2.303.1 and earlier, this could allow users with the appropriate permissions to change or replace configurations of jobs and other entities.\n\nJenkins 2.315, LTS 2.303.2 does not allow names of jobs and other entities to end with a dot character.",
"id": "GHSA-6q4g-84f3-mw74",
"modified": "2022-12-15T17:39:41Z",
"published": "2022-05-24T19:16:59Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-21682"
},
{
"type": "WEB",
"url": "https://github.com/jenkinsci/jenkins/commit/c2c2b59071265aea07f88d5e95297c0a433921c3"
},
{
"type": "WEB",
"url": "https://www.jenkins.io/security/advisory/2021-10-06/#SECURITY-2424"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2021/10/06/1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L",
"type": "CVSS_V3"
}
],
"summary": "Improper handling of equivalent directory names on Windows in Jenkins"
}
No mitigation information available for this CWE.
No CAPEC attack patterns related to this CWE.