Files
vuln-cve/data/2026/17xxx/CVE-2026-17495.json
T

153 lines
6.8 KiB
JSON

{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-17495",
"assignerOrgId": "ce714d77-add3-4f53-aff5-83d477b104bb",
"state": "PUBLISHED",
"assignerShortName": "openjs",
"dateReserved": "2026-07-26T13:49:41.562Z",
"datePublished": "2026-09-15T05:40:55.263Z",
"dateUpdated": "2026-09-15T17:49:57.391Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "ce714d77-add3-4f53-aff5-83d477b104bb",
"shortName": "openjs",
"dateUpdated": "2026-09-15T05:40:55.263Z"
},
"descriptions": [
{
"lang": "en",
"value": "moment is a JavaScript date library for parsing, validating, manipulating, and formatting dates. In versions 2.29.2 through 2.30.1, a specially crafted non-string object passed to moment.locale() can bypass the locale-name path-traversal guard. The guard assumes the input is a string, so an object whose match() method satisfies the check while its toString() returns a traversal path reaches an internal require() call with attacker-controlled path segments. This is an incomplete fix for CVE-2022-24785 and primarily affects npm (server-side) users that pass user-provided input directly to moment.locale(). The issue is fixed in moment 2.31.0, and users should upgrade to 2.31.0 or later. As a workaround, validate that any user-supplied input is a string before passing it to moment.locale().",
"supportingMedia": [
{
"type": "text/html",
"base64": false,
"value": "moment is a JavaScript date library for parsing, validating, manipulating, and formatting dates. In versions 2.29.2 through 2.30.1, a specially crafted non-string object passed to moment.locale() can bypass the locale-name path-traversal guard. The guard assumes the input is a string, so an object whose match() method satisfies the check while its toString() returns a traversal path reaches an internal require() call with attacker-controlled path segments. This is an incomplete fix for CVE-2022-24785 and primarily affects npm (server-side) users that pass user-provided input directly to moment.locale(). The issue is fixed in moment 2.31.0, and users should upgrade to 2.31.0 or later. As a workaround, validate that any user-supplied input is a string before passing it to moment.locale()."
}
]
}
],
"affected": [
{
"vendor": "moment",
"product": "moment",
"defaultStatus": "unaffected",
"versions": [
{
"versionType": "semver",
"status": "affected",
"version": "2.29.2",
"lessThan": "2.31.0"
},
{
"versionType": "semver",
"status": "unaffected",
"version": "2.31.0"
}
],
"packageURL": "pkg:npm/moment"
}
],
"references": [
{
"url": "https://github.com/moment/moment/security/advisories/GHSA-4p3w-j4w9-5jqw"
},
{
"url": "https://cna.openjsf.org/security-advisories.html"
}
],
"credits": [
{
"lang": "en",
"type": "reporter",
"value": "zolbooo"
},
{
"lang": "en",
"type": "remediation developer",
"value": "UlisesGascon"
},
{
"lang": "en",
"type": "coordinator",
"value": "gilmoreorless"
},
{
"lang": "en",
"type": "remediation developer",
"value": "mattjohnsonpint"
}
],
"title": "moment vulnerable to Path Traversal via crafted non-string locale name",
"metrics": [
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N",
"baseScore": 5.9,
"baseSeverity": "MEDIUM"
},
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-27",
"lang": "en",
"description": "CWE-27: Path Traversal: 'dir/../../filename'",
"type": "CWE"
}
]
}
],
"x_generator": {
"engine": "cve-kit 1.0.0"
}
},
"adp": [
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"timestamp": "2026-09-15T17:49:29.629363Z",
"id": "CVE-2026-17495",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-09-15T17:49:57.391Z"
}
}
]
}
}