Weblate
CVE-2025-68398
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Weblate with upload/restore rights
-
DeliverySubmit file path containing .git/config
-
ExploitBypass filename validation
-
ExecutionOverwrite repository Git config
-
PersistInject malicious Git directives
-
ImpactExecute code on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Requires the ability to supply a controlled filename/path to Weblate through its file-handling paths - the patched code covers translation file validation and backup restore (weblate/trans/backups.py, weblate/utils/validators.py). The specific prerequisite is submitting a path referencing a prohibited folder such as |
| Impact | This is a genuine high-severity issue. The GHSA advisory explicitly titles it 'RCE through Git config file overwrite,' and the CWE-20 root cause (validate_filename accepting a path containing |
| Exploit ScenarioDerived | An attacker with the ability to supply a file path to Weblate (via translation file upload or backup restore) submits a filename such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Improper input validation in Weblate versions prior to 5.15.1 lets a user who can submit translation files or restore project backups supply a crafted filename such as .git/config or a nested path/.git/config, overwriting the Git configuration inside a project working copy and overriding Git's behavior; the upstream advisory describes the outcome as remote code execution through Git config overwrite. Our assessment is that exploitation requires an authenticated account holding translation-upload or backup-restore privileges (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), even though the vendor's rating uses PR:N, and that full code execution additionally depends on Git honoring the injected directives during a later Git operation. Vendor-released patch: 5.15.1; no public exploit code and no confirmed active exploitation were identified at time of analysis.
RemediationAI
Upgrade to Weblate 5.15.1, which is the vendor-released fixed version (pip/Weblate ">=5.15.1"), following the GHSA-8vcg-cfxj-p5m3 advisory and the upstream changes in PRs 17330 and 17345 (commits 4837a4154390f7c1d03c0e398aa6439dcfa361b4 and dd8c9d7b00eebe28770fa0e2cd96126791765ea7). If immediate upgrade is not possible, apply compensating controls that match the actual prerequisite: restrict translation-file upload and project backup restore to trusted, individually vetted accounts, since exploitation in our assessment needs an authenticated user with those privileges - the trade-off is reduced contributor throughput and slower localization workflows; disable or gate the backup upload/restore endpoints entirely if disaster-recovery restores are not routinely performed, accepting the loss of self-service recovery; and harden the Git execution environment so injected directives cannot be leveraged, for example by running Weblate and its workers under low-privilege accounts with read-restricted access to Git config files, monitoring project .git/config files for unexpected modifications, and preferring server-side Git hooks/policies that ignore repository-local config overrides - noting these reduce but do not eliminate the impact if a project tree is already writable. Removing or rotating any untrusted project memberships and re-cloning affected repositories from a trusted source is advisable to clear any configuration already injected.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-20 improper input validation in Weblate's filename sanitization helper. In weblate/utils/validators.py, validate_filename() checked the shape of user-supplied filenames but did not consult the project's excluded-path logic in weblate/utils/files.py (is_excluded()), whose should_skip()/is_excluded() helpers recognize prohibited locations such as .git directories. As a result, names like .git/config and path/.git/config passed validation in the translation-file upload flow and in the backup restore flow (weblate/trans/backups.py) and could be written into the repository working tree, giving the attacker control over Git configuration keys that influence later Git invocations. The fix imports is_excluded() into validate_filename(), adds a keyword-only check_prohibited flag defaulting to True, raises a ValidationError ("The filename contains a prohibited folder.") when a prohibited folder is detected, and updates callers - notably the backup validator now calls validate_filename(name, check_prohibited=False) - plus annotations and regression tests (test_prohibited, test_prohibited_subdir) covering both .git/config and path/.git/config. CPE cpe:2.3:a:weblate:weblate:*:*:*:*:*:*:*:* identifies the affected product across all pre-5.15.1 releases.
Know when Weblate gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
File upload/restore paths require an authenticated low-priv account (PR:L); Git config overwrite enabling code execution yields full confidentiality, integrity, and availability impact.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Weblate is a web based localization tool. In versions prior to 5.15.1, it was possible to overwrite Git configuration remotely and override some of its behavior. Version 5.15.1 fixes the issue.
Executive ViewAI
A critical input-validation flaw in the Weblate translation management platform allows an authenticated user with translation-upload or backup-restore rights to overwrite Git configuration files inside project working copies, which the vendor advisory links to remote code execution. Organizations running self-hosted Weblate are exposed wherever contributors, contractors, or vendors hold these privilege levels, meaning the trust boundary is internal accounts rather than the open internet. Leadership should care because a single over-privileged contributor account could compromise the integrity of source code repositories and the build pipeline that consumes them.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)NVD
Privilege escalation in Weblate versions prior to 5.17 allows an authenticated low-privileged user to modify sensitive f
The package weblate from 0 and before 4.11.1 are vulnerable to Remote Code Execution (RCE) via argument injection when u
Argument injection in Weblate's Mercurial backend lets an authenticated user with project-scoped component.edit permissi
Weblate's REST API failed to enforce permission scope on team (group) assignments in all versions prior to 2026.7, allow
Remote code execution in Weblate's project backup restoration affects versions prior to 5.17, exploitable by authenticat
The wlc Weblate command-line client prior to version 1.17.2 is vulnerable to arbitrary file write attacks through path t
Arbitrary file read via symlink traversal in Weblate's App store metadata ZIP download affects all versions prior to 202
Arbitrary file read vulnerability in Weblate versions prior to 5.17 allows authenticated attackers to read sensitive fil
Weblate versions prior to 5.15.2 expose screenshot images through the web server without authentication controls, enabli
Path traversal in Weblate allows authenticated users to read arbitrary files outside the repository via the translation
Weblate versions up to 5.16.0 contains a vulnerability that allows attackers to an argument injection to `ssh-add` (CVSS
Unbounded regular expression evaluation in Weblate prior to 2026.7 allows any authenticated user holding the built-in 'E
NVD
CVE.org
EPSS
GitHub
Exploit-DB