CVE-2026-41654

High

Description

Weblate is a web based localization tool. Prior to version 5.17.1, an authenticated user with project.add permission (default on hosted Weblate SaaS and for any user holding an active billing/trial plan) can import a crafted project backup ZIP whose components/<name>.json contains an attacker-chosen repo URL pointing at a private address (e.g. http://127.0.0.1:9999/) or using a non-allow-listed scheme (e.g. file://, git://). Weblate persists the component via Component.objects.bulk_create([component])[0], which bypasses Django's full_clean() and therefore never runs the validate_repo_url validator. The URL is subsequently written verbatim into .git/config by configure_repo(pull=False). This issue has been patched in version 5.17.1.

SeverityHigh
CVSS8.1
Exploit probability—
ProductWeblate
PublishedMay 7, 2026
First seenMay 7, 2026

How to fix

Update
  • weblate weblate5.17.1 or later
  • weblate5.17.1 or later

Affected products

ProductAffected versionsFixed in
weblate weblatev < 5.17.15.17.1
weblatePyPIv < 5.17.15.17.1

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.

CVE-2026-41654 · Weblate · Dark Radar