{"schema":"threatline.record/2","record":{"id":"CVE-2026-49119","aliases":["GHSA-j36p-7w88-g82j","PYSEC-2026-2179"],"summary":" Gradio FileExplorer preprocess path traversal allows files outside root_dir to reach callbacks","details":"Gradio before 6.16.0 contain a path traversal vulnerability in the FileExplorer component's preprocess() method that allows unauthenticated attackers to escape the configured root directory by supplying path segments containing directory traversal sequences or absolute paths. Attackers can provide crafted path segments that cause os.path.join to discard the root_dir prefix entirely, resulting in arbitrary file read or exposure of sensitive files outside the intended directory.","categories":["Libraries & packages"],"product":"gradio","vendor":"gradio-app","ecosystem":"pip","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-j36p-7w88-g82j","source_modified_at":"2026-10-02T18:29:49Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"pip","name":"gradio"},"range":"< 6.16.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-49119","source_modified_at":"2026-07-14T21:33:12.523Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"gradio","vendor":"gradio-app","versions":[{"status":"affected","version":"0","versionType":"semver","lessThan":"6.16.0"}],"defaultStatus":"affected"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-j36p-7w88-g82j","source_modified_at":"2026-10-02T18:55:51.878962367Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"PyPI","name":"gradio","purl":"pkg:pypi/gradio"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"6.16.0"}],"type":"ECOSYSTEM"}],"versions":["0.1.0","0.1.1","0.1.2","0.1.3","0.1.4","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.2.0","0.2.1","0.3.0","0.3.1","0.3.2","0.3.3","0.3.4","0.3.5","0.4.0","0.4.1","0.4.2","0.4.4","0.5.0","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.7.5","0.7.6","0.7.7","0.7.8","0.8.0","0.8.1","0.9.0","0.9.1","0.9.2","0.9.3","0.9.4","0.9.5","0.9.6","0.9.7","0.9.8","0.9.9.2","0.9.9.3","0.9.9.5","0.9.9.6","0.9.9.7","0.9.9.8","0.9.9.9"]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-j36p-7w88-g82j","source_modified_at":"2026-10-02T18:29:49Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"pip","name":"gradio"},"version":"6.16.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-49119","source_modified_at":"2026-07-14T21:33:12.523Z","fetched_at":"2026-10-23T18:45:31.882637Z","package":{"name":"gradio","ecosystem":null},"version":"6.16.0","basis":"first unaffected version stated in the CVE record"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-j36p-7w88-g82j","source_modified_at":"2026-10-02T18:55:51.878962367Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"PyPI","name":"gradio","purl":"pkg:pypi/gradio"},"version":"6.16.0"}],"cvss":8.7,"severity":"High","kev":{"listed":false},"epss":{"probability":0.0069,"percentile":0.52255,"score_date":"2026-10-23"},"published_at":"2026-07-01T18:30:38.749Z","modified_at":"2026-10-02T18:55:51.878962367Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-j36p-7w88-g82j","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-02T18:29:49Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-49119","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-07-14T21:33:12.523Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-j36p-7w88-g82j","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-02T18:55:51.878962367Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-49119","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-49119","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/gradio-app/gradio/pull/13437","tags":["issue-tracking"]},{"source":"CVE List","url":"https://github.com/gradio-app/gradio/commit/97d541f3d5fd05b2587a69ecc94b68fe5d2d7004","tags":["patch"]},{"source":"CVE List","url":"https://github.com/gradio-app/gradio/releases/tag/gradio%406.16.0","tags":["release-notes"]},{"source":"CVE List","url":"https://www.vulncheck.com/advisories/gradio-path-traversal-via-fileexplorer-preprocess","tags":["third-party-advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/gradio/PYSEC-2026-2179.yaml","source":"GitHub Advisory Database"},{"url":"https://github.com/advisories/GHSA-j36p-7w88-g82j","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"yes","technical_impact":"partial","assessed_at":"2026-07-02T14:37:02.484665Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-02T18:55:51.878962367Z","content_hash":"507a9b50bf1919d57b1ddf48ca0f51793ec213a27a4d0aa45ff296b7ccdc38d7"}}
