{"id":"CVE-2026-40256","aliases":["GHSA-ffgh-3jrf-8wvh","PYSEC-2026-2315"],"title":"Weblate: Prefix-Based Repository Boundary Check Bypass via Symlink/Junction Path Prefix Collision","summary":"Weblate: Prefix-Based Repository Boundary Check Bypass via Symlink/Junction Path Prefix Collision","severity":"medium","cvss":5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","vendor":"weblate","product":"weblate","ecosystem":"pip","affected":["weblate < 5.17"],"patched":["weblate 5.17"],"published":"2026-04-16","updated":"2026-07-13","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-ffgh-3jrf-8wvh","references":[{"url":"https://github.com/WeblateOrg/weblate/security/advisories/GHSA-ffgh-3jrf-8wvh"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40256"},{"url":"https://github.com/WeblateOrg/weblate/pull/18847"},{"url":"https://github.com/WeblateOrg/weblate/commit/e30dbcb33ae78e754ecef192d54f996b89cb4e15"},{"url":"https://github.com/WeblateOrg/weblate"}],"tags":["osv","pip"],"epss":0.00324,"epssPercentile":0.25648,"ingestedAt":"2026-07-13T18:57:57.282Z","slug":"CVE-2026-40256","body":"## Overview\n\n### Impact\nWeblate repository-boundary validation relies on string prefix checks on resolved absolute paths. In multiple code paths, the check uses startswith against the repository root path. This is not path-segment aware and can be bypassed when the external path shares the same string prefix as the repository path (for example, repo and repo_outside).\n\n### Patches\n* https://github.com/WeblateOrg/weblate/pull/18847\n\n### References\nThanks to [m9nx4u](https://hackerone.com/m9nx4u) for reporting this issue via HackerOne.\n\n## Affected packages\n\n- `weblate < 5.17`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `weblate 5.17`","depth":"sunlit","depthScore":28,"depthScoreParts":{"impact":27.5,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}