CVE-2026-40256 Weblate: Prefix-Based Repository Boundary Check Bypass via Symlink/Junction Path Prefix Collision

Medium 5.0 Published Updated

Attackers can bypass repository boundary checks via symlink or junction path prefix collisions to access or modify files outside the intended repository.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-40256?

CVE-2026-40256 is a medium-severity path traversal vulnerability in WeblateOrg weblate, published on 15 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Weblate is a web based localization tool. In versions prior to 5.17, 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). This issue has been fixed in version 5.17.

Weakness: CWE-22

Which versions are affected by CVE-2026-40256?

3 open source packages ship an affected version, including weblate. It affects 1 product.

PackageAffectedFixed in
weblate PyPIAll versions5.17
weblate PyPIAll versions5.17
weblate PyPIAll versions5.17

Products include Weblate Weblate.

How do I fix CVE-2026-40256?

Upgrade weblate to 5.17 or later.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2026-40256 being exploited?

There is no known exploitation of CVE-2026-40256 in the wild and no public exploit code.

Sources

Also known as GHSA-ffgh-3jrf-8wvh, PYSEC-2026-2315.

Is CVE-2026-40256 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free