Search
Find a vulnerability
Search criteria
4 vulnerabilities by frostming
CVE-2026-73030 (GCVE-0-2026-73030)
Vulnerability from nvd – Published: 2026-08-10 20:09 – Updated: 2026-08-11 17:16 X_Open Source
VLAI
EPSS
VEX
Title
unearth 0.18.2 Path Traversal via Unnormalized Paths and Symlink Escape
Summary
unearth through 0.18.2, fixed in commit 6c78164, contains a path traversal vulnerability in the is_within_directory function that fails to normalize paths before validation, allowing ../ sequences to bypass directory containment checks. Attackers can supply malicious tar archives with symlink members or traversal sequences to write files to arbitrary filesystem locations accessible to the process.
Severity
SSVC
Exploitation: poc
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-22 - Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/frostming/unearth/issues/180 | technical-descriptionexploit |
| https://github.com/frostming/unearth/pull/181 | issue-tracking |
| https://github.com/frostming/unearth/commit/6c781… | patch |
| https://www.vulncheck.com/advisories/unearth-path… | third-party-advisory |
Impacted products
Date Public
2026-07-28 00:00
Credits
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-73030",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-11T17:16:01.368745Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-11T17:16:13.975Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "affected",
"packageURL": "pkg:github/frostming/unearth",
"product": "unearth",
"repo": "https://github.com/frostming/unearth",
"vendor": "frostming",
"versions": [
{
"lessThanOrEqual": "0.18.2",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6c78164e7bfa28b8b3d6f247b87e560692e3c8ba",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:frostming:unearth:0.12.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.12.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.11.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.11.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.11.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.10.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.3:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.8.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.8.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.7.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.7.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.7.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.3:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.5.2:*:*:*:*:python:*:*",
"vulnerable": true
}
],
"operator": "OR"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "YU SUN"
}
],
"datePublic": "2026-07-28T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "unearth through 0.18.2, fixed in commit 6c78164, contains a path traversal vulnerability in the is_within_directory function that fails to normalize paths before validation, allowing ../ sequences to bypass directory containment checks. Attackers can supply malicious tar archives with symlink members or traversal sequences to write files to arbitrary filesystem locations accessible to the process."
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.2,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "PASSIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.1,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-22",
"description": "Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-10T20:09:44.641Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "Researcher Disclosure",
"tags": [
"technical-description",
"exploit"
],
"url": "https://github.com/frostming/unearth/issues/180"
},
{
"name": "Pull Request",
"tags": [
"issue-tracking"
],
"url": "https://github.com/frostming/unearth/pull/181"
},
{
"name": "Patch Commit",
"tags": [
"patch"
],
"url": "https://github.com/frostming/unearth/commit/6c78164e7bfa28b8b3d6f247b87e560692e3c8ba"
},
{
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/unearth-path-traversal-via-unnormalized-paths-and-symlink-escape"
}
],
"tags": [
"x_open-source"
],
"title": "unearth 0.18.2 Path Traversal via Unnormalized Paths and Symlink Escape",
"x_generator": {
"engine": "vulncheck-endgame"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-73030",
"datePublished": "2026-08-10T20:09:44.641Z",
"dateReserved": "2026-08-10T18:48:59.022Z",
"dateUpdated": "2026-08-11T17:16:13.975Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2023-45805 (GCVE-0-2023-45805)
Vulnerability from nvd – Published: 2023-10-20 18:12 – Updated: 2024-09-12 15:01
VLAI
EPSS
VEX
Title
Trojan Lockfilein pdm
Summary
pdm is a Python package and dependency manager supporting the latest PEP standards. It's possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it's not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what's actually installed could differ from what's listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
- CWE-20 - Improper Input Validation
Assigner
References
5 references
| URL | Tags |
|---|---|
| https://github.com/pdm-project/pdm/security/advis… | x_refsource_CONFIRM |
| https://github.com/pdm-project/pdm/commit/6853e26… | x_refsource_MISC |
| https://github.com/frostming/unearth/blob/eca170d… | x_refsource_MISC |
| https://github.com/pdm-project/pdm/blob/45d1dfa47… | x_refsource_MISC |
| https://peps.python.org/pep-0440/#post-release-spelling | x_refsource_MISC |
Impacted products
{
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-02T20:29:32.517Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"name": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9",
"tags": [
"x_refsource_CONFIRM",
"x_transferred"
],
"url": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9"
},
{
"name": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831"
},
{
"name": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229"
},
{
"name": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99"
},
{
"name": "https://peps.python.org/pep-0440/#post-release-spelling",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://peps.python.org/pep-0440/#post-release-spelling"
}
],
"title": "CVE Program Container"
},
{
"affected": [
{
"cpes": [
"cpe:2.3:a:frostming:pdm:*:*:*:*:*:python:*:*"
],
"defaultStatus": "unknown",
"product": "pdm",
"vendor": "frostming",
"versions": [
{
"lessThan": "2.10.0",
"status": "affected",
"version": "2.0.0",
"versionType": "custom"
}
]
},
{
"cpes": [
"cpe:2.3:a:frostming:unearth:*:*:*:*:*:python:*:*"
],
"defaultStatus": "unknown",
"product": "unearth",
"vendor": "frostming",
"versions": [
{
"lessThan": "0.11.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"metrics": [
{
"other": {
"content": {
"id": "CVE-2023-45805",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-09-12T14:46:11.686417Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-09-12T15:01:47.526Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "pdm",
"vendor": "pdm-project",
"versions": [
{
"status": "affected",
"version": "\u003e= 2.0.0,\u003c 2.9.4"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "pdm is a Python package and dependency manager supporting the latest PEP standards. It\u0027s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it\u0027s not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what\u0027s actually installed could differ from what\u0027s listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability."
}
],
"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-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2023-10-20T18:12:24.701Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9"
},
{
"name": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831"
},
{
"name": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229"
},
{
"name": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99"
},
{
"name": "https://peps.python.org/pep-0440/#post-release-spelling",
"tags": [
"x_refsource_MISC"
],
"url": "https://peps.python.org/pep-0440/#post-release-spelling"
}
],
"source": {
"advisory": "GHSA-j44v-mmf2-xvm9",
"discovery": "UNKNOWN"
},
"title": "Trojan Lockfilein pdm"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2023-45805",
"datePublished": "2023-10-20T18:12:24.701Z",
"dateReserved": "2023-10-13T12:00:50.436Z",
"dateUpdated": "2024-09-12T15:01:47.526Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
CVE-2026-73030 (GCVE-0-2026-73030)
Vulnerability from cvelistv5 – Published: 2026-08-10 20:09 – Updated: 2026-08-11 17:16 X_Open Source
VLAI
EPSS
VEX
Title
unearth 0.18.2 Path Traversal via Unnormalized Paths and Symlink Escape
Summary
unearth through 0.18.2, fixed in commit 6c78164, contains a path traversal vulnerability in the is_within_directory function that fails to normalize paths before validation, allowing ../ sequences to bypass directory containment checks. Attackers can supply malicious tar archives with symlink members or traversal sequences to write files to arbitrary filesystem locations accessible to the process.
Severity
SSVC
Exploitation: poc
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-22 - Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/frostming/unearth/issues/180 | technical-descriptionexploit |
| https://github.com/frostming/unearth/pull/181 | issue-tracking |
| https://github.com/frostming/unearth/commit/6c781… | patch |
| https://www.vulncheck.com/advisories/unearth-path… | third-party-advisory |
Impacted products
Date Public
2026-07-28 00:00
Credits
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-73030",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-11T17:16:01.368745Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-11T17:16:13.975Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "affected",
"packageURL": "pkg:github/frostming/unearth",
"product": "unearth",
"repo": "https://github.com/frostming/unearth",
"vendor": "frostming",
"versions": [
{
"lessThanOrEqual": "0.18.2",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6c78164e7bfa28b8b3d6f247b87e560692e3c8ba",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:frostming:unearth:0.12.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.12.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.11.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.11.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.11.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.10.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.3:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.9.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.8.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.8.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.7.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.7.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.7.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.3:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.2:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.1:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.6.0:*:*:*:*:python:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:frostming:unearth:0.5.2:*:*:*:*:python:*:*",
"vulnerable": true
}
],
"operator": "OR"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "YU SUN"
}
],
"datePublic": "2026-07-28T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "unearth through 0.18.2, fixed in commit 6c78164, contains a path traversal vulnerability in the is_within_directory function that fails to normalize paths before validation, allowing ../ sequences to bypass directory containment checks. Attackers can supply malicious tar archives with symlink members or traversal sequences to write files to arbitrary filesystem locations accessible to the process."
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.2,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "PASSIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.1,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-22",
"description": "Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-10T20:09:44.641Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "Researcher Disclosure",
"tags": [
"technical-description",
"exploit"
],
"url": "https://github.com/frostming/unearth/issues/180"
},
{
"name": "Pull Request",
"tags": [
"issue-tracking"
],
"url": "https://github.com/frostming/unearth/pull/181"
},
{
"name": "Patch Commit",
"tags": [
"patch"
],
"url": "https://github.com/frostming/unearth/commit/6c78164e7bfa28b8b3d6f247b87e560692e3c8ba"
},
{
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/unearth-path-traversal-via-unnormalized-paths-and-symlink-escape"
}
],
"tags": [
"x_open-source"
],
"title": "unearth 0.18.2 Path Traversal via Unnormalized Paths and Symlink Escape",
"x_generator": {
"engine": "vulncheck-endgame"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-73030",
"datePublished": "2026-08-10T20:09:44.641Z",
"dateReserved": "2026-08-10T18:48:59.022Z",
"dateUpdated": "2026-08-11T17:16:13.975Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2023-45805 (GCVE-0-2023-45805)
Vulnerability from cvelistv5 – Published: 2023-10-20 18:12 – Updated: 2024-09-12 15:01
VLAI
EPSS
VEX
Title
Trojan Lockfilein pdm
Summary
pdm is a Python package and dependency manager supporting the latest PEP standards. It's possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it's not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what's actually installed could differ from what's listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
- CWE-20 - Improper Input Validation
Assigner
References
5 references
| URL | Tags |
|---|---|
| https://github.com/pdm-project/pdm/security/advis… | x_refsource_CONFIRM |
| https://github.com/pdm-project/pdm/commit/6853e26… | x_refsource_MISC |
| https://github.com/frostming/unearth/blob/eca170d… | x_refsource_MISC |
| https://github.com/pdm-project/pdm/blob/45d1dfa47… | x_refsource_MISC |
| https://peps.python.org/pep-0440/#post-release-spelling | x_refsource_MISC |
Impacted products
{
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-02T20:29:32.517Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"name": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9",
"tags": [
"x_refsource_CONFIRM",
"x_transferred"
],
"url": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9"
},
{
"name": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831"
},
{
"name": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229"
},
{
"name": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99"
},
{
"name": "https://peps.python.org/pep-0440/#post-release-spelling",
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://peps.python.org/pep-0440/#post-release-spelling"
}
],
"title": "CVE Program Container"
},
{
"affected": [
{
"cpes": [
"cpe:2.3:a:frostming:pdm:*:*:*:*:*:python:*:*"
],
"defaultStatus": "unknown",
"product": "pdm",
"vendor": "frostming",
"versions": [
{
"lessThan": "2.10.0",
"status": "affected",
"version": "2.0.0",
"versionType": "custom"
}
]
},
{
"cpes": [
"cpe:2.3:a:frostming:unearth:*:*:*:*:*:python:*:*"
],
"defaultStatus": "unknown",
"product": "unearth",
"vendor": "frostming",
"versions": [
{
"lessThan": "0.11.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"metrics": [
{
"other": {
"content": {
"id": "CVE-2023-45805",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-09-12T14:46:11.686417Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-09-12T15:01:47.526Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "pdm",
"vendor": "pdm-project",
"versions": [
{
"status": "affected",
"version": "\u003e= 2.0.0,\u003c 2.9.4"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "pdm is a Python package and dependency manager supporting the latest PEP standards. It\u0027s possible to craft a malicious `pdm.lock` file that could allow e.g. an insider or a malicious open source project to appear to depend on a trusted PyPI project, but actually install another project. A project `foo` can be targeted by creating the project `foo-2` and uploading the file `foo-2-2.tar.gz` to pypi.org. PyPI will see this as project `foo-2` version `2`, while PDM will see this as project `foo` version `2-2`. The version must only be `parseable as a version` and the filename must be a prefix of the project name, but it\u0027s not verified to match the version being installed. Version `2-2` is also not a valid normalized version per PEP 440. Matching the project name exactly (not just prefix) would fix the issue. When installing dependencies with PDM, what\u0027s actually installed could differ from what\u0027s listed in `pyproject.toml` (including arbitrary code execution on install). It could also be used for downgrade attacks by only changing the version. This issue has been addressed in commit `6853e2642df` which is included in release version `2.9.4`. Users are advised to upgrade. There are no known workarounds for this vulnerability."
}
],
"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-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2023-10-20T18:12:24.701Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/pdm-project/pdm/security/advisories/GHSA-j44v-mmf2-xvm9"
},
{
"name": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/pdm-project/pdm/commit/6853e2642dfa281d4a9958fbc6c95b7e32d84831"
},
{
"name": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frostming/unearth/blob/eca170d9370ac5032f2e497ee9b1b63823d3fe0f/src/unearth/evaluator.py#L215-L229"
},
{
"name": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/pdm-project/pdm/blob/45d1dfa47d4900c14a31b9bb761e4c46eb5c9442/src/pdm/models/candidates.py#L98-L99"
},
{
"name": "https://peps.python.org/pep-0440/#post-release-spelling",
"tags": [
"x_refsource_MISC"
],
"url": "https://peps.python.org/pep-0440/#post-release-spelling"
}
],
"source": {
"advisory": "GHSA-j44v-mmf2-xvm9",
"discovery": "UNKNOWN"
},
"title": "Trojan Lockfilein pdm"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2023-45805",
"datePublished": "2023-10-20T18:12:24.701Z",
"dateReserved": "2023-10-13T12:00:50.436Z",
"dateUpdated": "2024-09-12T15:01:47.526Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}