{"cve":"CVE-2026-34783","nvd":{"published":"2026-04-06T17:17:10.430","modified":"2026-10-23T23:10:00.157","status":"Analyzed","description":"Ferret is a declarative system for working with web data. Prior to 2.0.0-alpha.4, a path traversal vulnerability in Ferret's IO::FS::WRITE standard library function allows a malicious website to write arbitrary files to the filesystem of the machine running Ferret. When an operator scrapes a website that returns filenames containing ../ sequences, and uses those filenames to construct output paths (a standard scraping pattern), the attacker controls both the destination path and the file content. This can lead to remote code execution via cron jobs, SSH authorized_keys, shell profiles, or web shells. This vulnerability is fixed in 2.0.0-alpha.4.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","score":8.1},"cwes":["CWE-22","CWE-73"],"references":["https://github.com/MontFerret/ferret/commit/160ebad6bd50f153453e120f6d909f5b83322917","https://github.com/MontFerret/ferret/security/advisories/GHSA-j6v5-g24h-vg4j","https://github.com/MontFerret/ferret/security/advisories/GHSA-j6v5-g24h-vg4j"],"products":["montferret:ferret"],"source":"nvd","synced_at":"2026-10-24T16:53:27.712498749+00:00"},"epss":{"cve":"CVE-2026-34783","score":0.00514,"percentile":0.43505,"date":"2026-10-25"},"kev":null,"osv":[{"id":"GHSA-j6v5-g24h-vg4j","url":"https://osv.dev/vulnerability/GHSA-j6v5-g24h-vg4j","summary":"Ferret: Path Traversal in IO::FS::WRITE allows arbitrary file write when scraping malicious websites","modified":"2026-07-24T19:11:22.154584757Z","packages":[{"ecosystem":"Go","name":"github.com/MontFerret/ferret/v2","purl":"pkg:golang/github.com/MontFerret/ferret/v2","ranges":["<2.0.0-alpha.4"],"fixed":["2.0.0-alpha.4"]},{"ecosystem":"Go","name":"github.com/MontFerret/ferret","purl":"pkg:golang/github.com/MontFerret/ferret","ranges":["<=0.18.1"],"fixed":[]}]},{"id":"GO-2026-5452","url":"https://osv.dev/vulnerability/GO-2026-5452","summary":"Ferret: Path Traversal in IO::FS::WRITE allows arbitrary file write in github.com/MontFerret/ferret","modified":"2026-07-24T19:00:22.910667717Z","packages":[{"ecosystem":"Go","name":"github.com/MontFerret/ferret/v2","purl":"pkg:golang/github.com/MontFerret/ferret/v2","ranges":["<2.0.0-alpha.4"],"fixed":["2.0.0-alpha.4"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}