Fallow: Jest and Vitest `projects` entries let an analyzed repository make Fallow read files outside the project root
Fallow is a codebase intelligence tool for TypeScript and JavaScript. From 2.68.0 until 3.34.0, Fallow follows attacker-controlled Jest projects paths outside the project root through absolute paths, parent segments, dot-prefixed wildcard globs, or symlinks. In version 3.33.1, the same behavior also affects Vitest test.projects paths, Vitest inline-project extends paths, and symlinked script --config paths. Fallow parses the outside files as test-runner configuration and uses them to credit dependencies, setup files, and JSX import sources, which can change unused dependency and unused file findings in CI or agent analysis. The outside file contents are not printed or sent over the network. This issue is fixed in version 3.34.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-115569
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 22:43 UTC · Revision 1
Source evidence
Fallow: Jest and Vitest `projects` entries let an analyzed repository make Fallow read files outside the project root
core-osv · Original sourcePublished 23 Oct 2026, 18:09 UTC
Fallow is a codebase intelligence tool for TypeScript and JavaScript. From 2.68.0 until 3.34.0, Fallow follows attacker-controlled Jest projects paths outside the project root through absolute paths, parent segments, dot-prefixed wildcard globs, or symlinks. In version 3.33.1, the same behavior also affects Vitest test.projects paths, Vitest inline-project extends paths, and symlinked script --config paths. Fallow parses the outside files as test-runner configuration and uses them to credit dependencies, setup files, and JSX import sources, which can change unused dependency and unused file findings in CI or agent analysis. The outside file contents are not printed or sent over the network. This issue is fixed in version 3.34.0.
osv:CVE-2026-115569
Complete source record
{
"id": "bef05ce0e0a40a08e14e0c38f99483cde19b671ee26fdb0afe9a1eb66a67a2fc",
"url": "https://osv.dev/vulnerability/CVE-2026-115569",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Fallow: Jest and Vitest `projects` entries let an analyzed repository make Fallow read files outside the project root",
"summary": "Fallow is a codebase intelligence tool for TypeScript and JavaScript. From 2.68.0 until 3.34.0, Fallow follows attacker-controlled Jest projects paths outside the project root through absolute paths, parent segments, dot-prefixed wildcard globs, or symlinks. In version 3.33.1, the same behavior also affects Vitest test.projects paths, Vitest inline-project extends paths, and symlinked script --config paths. Fallow parses the outside files as test-runner configuration and uses them to credit dependencies, setup files, and JSX import sources, which can change unused dependency and unused file findings in CI or agent analysis. The outside file contents are not printed or sent over the network. This issue is fixed in version 3.34.0.",
"evidence": "osv:CVE-2026-115569",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2026-115569",
"aliases": [
"CVE-2026-115569",
"GHSA-jfwm-3p3c-6hx5"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/fallow-rs/fallow",
"type": "GIT",
"events": [
{
"introduced": "ffa223da4e3969e822fd4a6a0658bcdf939ebe35"
},
{
"fixed": "2823b6588b26e582124977135b9998efeb6959ad"
},
{
"fixed": "75c0c60948a53ddfe042e65b446343989f4c5649"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "2.68.0"
},
{
"fixed": "3.34.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "75c0c60948a53ddfe042e65b446343989f4c5649"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "2823b6588b26e582124977135b9998efeb6959ad"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v3.34.0"
}
]
}
}
],
"versions": [
"v3.33.1",
"v3.33.0",
"v3.32.0",
"v3.31.0",
"v3.30.0",
"v3.29.0",
"v3.28.0",
"v3.27.0",
"v3.26.0",
"v3.25.0",
"v3.24.1",
"v3.24.0",
"v3.23.0",
"v3.22.0",
"v3.21.0",
"v3.20.0",
"v3.19.0",
"v3.18.0",
"v3.17.0",
"v3.16.0",
"v3.15.0",
"v3.14.0",
"v3.13.0",
"v3.12.0",
"v3.11.0",
"v3.10.0",
"v3.9.1",
"v3.9.0",
"v3.8.1",
"v3.8.0",
"v3.7.1",
"v3.7.0",
"v3.6.0",
"v3.5.0",
"v3.4.2",
"v3.3.0",
"v3.2.0",
"v3.1.0",
"v3.0.0",
"v2.104.0",
"v2",
"v2.103.0",
"v2.102.0",
"v2.101.0",
"v2.100.0",
"v2.99.0",
"v2.98.0",
"v2.97.0",
"v2.96.0",
"v2.95.0",
"v2.94.0",
"v2.93.0",
"v2.92.1",
"v2.91.0",
"v2.90.0",
"v2.89.0",
"v2.88.3",
"v2.88.2",
"v2.88.1",
"v2.88.0",
"v2.87.0",
"v2.86.0",
"v2.84.0",
"v2.83.0",
"v2.82.0",
"v2.81.0",
"v2.80.0",
"v2.79.0",
"v2.78.1",
"v2.78.0",
"v2.77.0",
"v2.76.0",
"v2.75.0",
"v2.74.0",
"v2.73.0",
"v2.72.0",
"v2.71.0",
"v2.70.0",
"v2.69.0",
"v2.68.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-115569.json"
}
}
],
"modified": "2026-11-01T02:30:49.726137527Z",
"provider": "osv",
"references": [
"https://github.com/fallow-rs/fallow/releases/tag/v3.34.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/115xxx/CVE-2026-115569.json",
"https://github.com/fallow-rs/fallow/security/advisories/GHSA-jfwm-3p3c-6hx5",
"https://nvd.nist.gov/vuln/detail/CVE-2026-115569",
"https://github.com/fallow-rs/fallow/commit/75c0c60948a53ddfe042e65b446343989f4c5649",
"https://github.com/fallow-rs/fallow/pull/3556"
],
"provider_metadata": {
"cwe_ids": [
"CWE-22",
"CWE-59"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/115xxx/CVE-2026-115569.json"
}
},
"related_cves": [
{
"value": "CVE-2026-115569",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 490648,
"published_at": "2026-10-23T18:09:47.722+00:00"
}