Laag · 1.8 Node.js & npm CVE-2026-115569 GHSA-jfwm-3p3c-6hx5 GHSA-h4fr-cmh5-qr62
Path traversal-kwetsbaarheden in Fallow geven geanalyseerde repositories toegang tot bestanden buiten de projectroot
Twee samenhangende path traversal-problemen in Fallow, een codebase-analysetool voor TypeScript en JavaScript, maakten het mogelijk dat een speciaal geprepareerde geanalyseerde repository Fallow liet uitlezen of bestanden liet testen op aanwezigheid buiten de projectroot, via Jest/Vitest-testpaden en wildcard-glob-segmenten. Beide zijn verholpen in versie 3.34.0.
AI-samenvatting
Fallow is een codebase-analysetool voor TypeScript- en JavaScript-projecten. Er zijn twee samenhangende path traversal-kwetsbaarheden gepubliceerd die invloed hebben op de manier waarop Fallow bestandspaden oplost tijdens het analyseren van een doelrepository. Beide problemen vallen onder dezelfde onderliggende categorie (CWE-22, onjuiste beperking van een padnaam tot een afgeschermde map) en zijn verholpen in dezelfde uitgebrachte versie.
Wat is er gebeurd
Twee afzonderlijke advisories beschrijven hoe Fallow ertoe gebracht kon worden bestanden te benaderen buiten de grenzen van het project dat het analyseert. Bij het eerste probleem (CVE-2026-115569 / GHSA-jfwm-3p3c-6hx5) volgde Fallow door de aanvaller gecontroleerde Jest-'projects'-paden buiten de projectroot, via absolute paden, bovenliggende-mapsegmenten, met een punt beginnende wildcard-globs, of symlinks. Een gerelateerde variant trof ook Vitest-'test.projects'-paden, Vitest inline-project-'extends'-paden en symlinked script-'--config'-paden. De bestanden buiten de projectroot werden geparsed als testrunner-configuratie en gebruikt om dependencies, setup-bestanden en JSX-importbronnen toe te schrijven, wat de bevindingen over ongebruikte dependencies en ongebruikte bestanden tijdens CI- of agent-analyse kon veranderen. Het tweede probleem (GHSA-h4fr-cmh5-qr62) betrof het feit dat een glob-segment zoals '.*', '.?' of '..*' ook kon overeenkomen met de speciale '..'-ingang voor de bovenliggende map, omdat de onderliggende glob-matchbibliotheek '..' test tegen elk segment dat met een letterlijke punt begint. Hoewel Fallow glob-patronen van plugins valideert en absolute paden en '..'-segmenten expliciet weigert, omzeilden deze met een punt beginnende wildcard-segmenten die validatie en konden ze een plugin-patroon laten testen op het bestaan van bestanden of mappen in de bovenliggende map van de projectroot.
Technische oorzaak
Beide problemen vallen onder CWE-22, onjuiste beperking van een padnaam tot een afgeschermde map ('Path Traversal'). Het eerste probleem komt doordat Fallow testrunner-configuratiepaden (Jest- en Vitest-'projects'/'extends'-items, en symlinked '--config'-paden) uit een geanalyseerde repository vertrouwde zonder deze voldoende te beperken tot de projectroot. Het tweede probleem is een validatiegat: de glob-gebaseerde detectielogica van plugins in Fallow weigert letterlijke '..'-segmenten, maar een wildcard-segment dat met een punt begint (bijvoorbeeld '.*') kon in de onderliggende glob-bibliotheek alsnog uitbreiden naar de '..'-ingang, waarmee feitelijk dezelfde traversal naar de bovenliggende map werd bereikt via een patroon dat wél door de validatie kwam.
Waarom dit relevant is
Fallow is bedoeld om repositories van derden of externe partijen te analyseren, wat betekent dat de inhoud van de repository zelf als door een aanvaller gecontroleerde input moet worden beschouwd. Door deze kwetsbaarheden kon die inhoud invloed uitoefenen op hoe Fallow bestanden buiten de bedoelde projectgrens analyseerde. In het Jest/Vitest-scenario kon dit de bevindingen over ongebruikte dependencies en ongebruikte bestanden in CI-pijplijnen of agent-gestuurde analyse veranderen. In het glob-scenario kon een aanvaller die ook de output van Fallow kan lezen (bijvoorbeeld een CI-log of een pull request-reactie) te weten komen of een specifiek bestand of een specifieke map bestaat in de bovenliggende map van de projectroot, en in sommige configuraties ervoor zorgen dat een bevinding over een ongebruikte dependency verdween of dat '--trace-dependency' het externe pad toonde.
Wie wordt getroffen
Gebruikers van de npm-pakketten 'fallow' en '@fallow-cli/fallow-node' die Fallow draaien tegen repositories die ze niet volledig vertrouwen, worden getroffen. Dit geldt met name voor CI-pijplijnen of geautomatiseerde agent-workflows die externe of codebases van derden analyseren.
Getroffen versies
Voor CVE-2026-115569 / GHSA-jfwm-3p3c-6hx5 zijn 'fallow' en '@fallow-cli/fallow-node' getroffen vanaf versie 2.68.0 tot (maar niet inclusief) versie 3.34.0 wat betreft het Jest-'projects'-padprobleem; de advisory vermeldt verder dat in versie 3.33.1 hetzelfde gedrag ook Vitest-'test.projects'-paden, Vitest inline-project-'extends'-paden en symlinked script-'--config'-paden trof. Voor GHSA-h4fr-cmh5-qr62 zijn alle versies vóór 3.34.0 getroffen door het glob-wildcard-traversalprobleem.
Fixes en mitigatie
Beide problemen zijn verholpen in versie 3.34.0 van 'fallow' en '@fallow-cli/fallow-node'. Voor het glob-wildcard-probleem herschrijft de fix een beginpunt in een wildcard-glob-segment zodat dit tijdens de uitbreiding op schijf niet langer overeenkomt met de ingang van de bovenliggende map, terwijl verborgen bestanden en mappen binnen de projectroot wel nog worden herkend. Als tijdelijke mitigatie vóór het updaten adviseert de advisory om Fallow alleen te draaien op repositories die je vertrouwt, en om de detection-, configPatterns- en alwaysUsed-patronen van de plugin-bestanden van een repository te controleren voordat je Fallow erop loslaat.
Aanbevolen actie
Werk 'fallow' en '@fallow-cli/fallow-node' bij naar versie 3.34.0 of hoger. Beperk tot die update is doorgevoerd de analyse met Fallow tot vertrouwde repositories en controleer plugin-patroonbestanden (detection, configPatterns, alwaysUsed) in niet-vertrouwde repositories voordat je Fallow erop uitvoert.
PatchBriefing-score
1.8 / 10 · Laag
Officiële CVSS: 3.3
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Waarom deze score
Beide advisories hebben een CVSS 3.1-basisscore van 3,3 (AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N), wat duidt op een lokaal uit te buiten probleem dat gebruikersinteractie vereist, met een beperkte impact op vertrouwelijkheid en geen impact op integriteit of beschikbaarheid. De Patchwire-score van 1,8 weerspiegelt deze lage basisernst, in combinatie met de afwezigheid van bekende exploitatie, geen publiek beschikbare exploitcode, en geen aanwijzingen voor ongeauthenticeerde of remote exploitatie zonder gebruikersinteractie. Er is een fix van de leverancier beschikbaar, wat het risico verder beperkt zodra deze is toegepast.
Getroffen versies
- fallow >= 2.68.0, < 3.34.0
- kwetsbaar
- fallow ≥ 2.68.0 < 3.34.0
- kwetsbaar
- ≥ 3.34.0
- gepatcht
- @fallow-cli/fallow-node >= 2.68.0, < 3.34.0
- kwetsbaar
- @fallow-cli/fallow-node ≥ 2.68.0 < 3.34.0
- kwetsbaar
- ≥ 3.34.0
- gepatcht
- fallow < 3.34.0
- kwetsbaar
- fallow ≥ 0 < 3.34.0
- kwetsbaar
- ≥ 3.34.0
- gepatcht
- @fallow-cli/fallow-node < 3.34.0
- kwetsbaar
- @fallow-cli/fallow-node ≥ 0 < 3.34.0
- kwetsbaar
- ≥ 3.34.0
- gepatcht
Gemelde oplossingen
Beide problemen zijn verholpen in versie 3.34.0 van 'fallow' en '@fallow-cli/fallow-node'. Voor het glob-wildcard-probleem herschrijft de fix een beginpunt in een wildcard-glob-segment zodat dit tijdens de uitbreiding op schijf niet langer overeenkomt met de ingang van de bovenliggende map, terwijl verborgen bestanden en mappen binnen de projectroot wel nog worden herkend. Als tijdelijke mitigatie vóór het updaten adviseert de advisory om Fallow alleen te draaien op repositories die je vertrouwt, en om de detection-, configPatterns- en alwaysUsed-patronen van de plugin-bestanden van een repository te controleren voordat je Fallow erop loslaat.
Hoe dit rapport is gemaakt
5 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
NVD (NIST) database
-
GitHub Advisory Database database
-
OSV.dev database
-
GitHub Advisory Database database
-
OSV.dev database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail