CVE-2026-47429
Full vulnerability record from the local CVENow database.
Description
Vitest is a testing framework powered by Vite. Prior to 3.2.5 and 4.1.0, the Vitest UI/API server on Windows used isFileServingAllowed incorrectly for /__vitest_attachment__, allowing \\?\\..\\ path traversal to read files outside the project; exposed API write and rerun features such as saveTestFile and rerun could also allow arbitrary script execution. This issue is fixed in versions 3.2.5 and 4.1.0.
Severity
MEDIUM
CVSS score
5.9
(v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-07-14 20:17:02.460000
Last modified
2026-10-24 21:10:00.130000
View original CVE JSON
{
"id": "CVE-2026-47429",
"sourceIdentifier": "[email protected]",
"published": "2026-07-14T20:17:02.460",
"lastModified": "2026-10-24T21:10:00.130",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Vitest is a testing framework powered by Vite. Prior to 3.2.5 and 4.1.0, the Vitest UI/API server on Windows used isFileServingAllowed incorrectly for /__vitest_attachment__, allowing \\\\?\\\\..\\\\ path traversal to read files outside the project; exposed API write and rerun features such as saveTestFile and rerun could also allow arbitrary script execution. This issue is fixed in versions 3.2.5 and 4.1.0."
},
{
"lang": "es",
"value": "Vitest es un framework de pruebas impulsado por Vite. Antes de las versiones 3.2.5 y 4.1.0, el servidor de UI/API de Vitest en Windows utilizaba isFileServingAllowed incorrectamente para /__vitest_attachment__, permitiendo el salto de ruta \\\\?\\\\.. / \\ para leer archivos fuera del proyecto; las funciones de escritura y repetición de la API expuestas, como saveTestFile y rerun, también podrían permitir la ejecución arbitraria de scripts. Este problema está solucionado en las versiones 3.2.5 y 4.1.0."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "vitest-dev",
"product": "vitest",
"versions": [
{
"version": "< 3.2.5",
"status": "affected"
},
{
"version": ">= 4.0.0, < 4.1.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 3.9,
"impactScore": 5.9
},
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N",
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.2,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-21T15:02:06.439415Z",
"id": "CVE-2026-47429",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-22"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:vitest.dev:vitest:*:*:*:*:*:node.js:*:*",
"versionEndExcluding": "3.2.5",
"matchCriteriaId": "2C5A55A4-130E-4024-8D51-520CE230240D"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:vitest.dev:vitest:*:*:*:*:*:node.js:*:*",
"versionStartIncluding": "4.0.0",
"versionEndExcluding": "4.1.0",
"matchCriteriaId": "E3EFDF3A-B3CD-4077-B840-4F57324813F5"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/vitest-dev/vitest/commit/20e00ef7808de6d330c5e2fda530f686e08f1c8d",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/vitest-dev/vitest/commit/af88b1f5d82844a4761ea9a977156c98e2b14ca8",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/vitest-dev/vitest/pull/10445",
"source": "[email protected]",
"tags": [
"Exploit",
"Issue Tracking",
"Patch"
]
},
{
"url": "https://github.com/vitest-dev/vitest/pull/9350",
"source": "[email protected]",
"tags": [
"Exploit",
"Issue Tracking",
"Patch"
]
},
{
"url": "https://github.com/vitest-dev/vitest/releases/tag/v3.2.5",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/vitest-dev/vitest/releases/tag/v4.1.0",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/vitest-dev/vitest/security/advisories/GHSA-5xrq-8626-4rwp",
"source": "[email protected]",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
]
},
{
"url": "https://github.com/vitest-dev/vitest/security/advisories/GHSA-5xrq-8626-4rwp",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
]
}
]
}