Skip to main content

Weblate CVE-2025-68398

CRITICAL
Improper Input Validation (CWE-20)
2025-12-18 security-advisories@github.com
9.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Weblate with upload/restore rights
  2. Delivery
    Submit file path containing .git/config
  3. Exploit
    Bypass filename validation
  4. Execution
    Overwrite repository Git config
  5. Persist
    Inject malicious Git directives
  6. Impact
    Execute 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 .git/config (including nested path/.git/config), which pre-5.15.1 validate_filename failed to reject. Limiting factors: exploitation almost certainly needs an authenticated account with translation-upload or backup-restore privileges (despite the vendor's PR:N rating), and only affects Weblate instances running versions prior to 5.15.1. Achieving full RCE additionally depends on Git honoring the injected config directives during a subsequent Git operation.

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 .git/config) is confirmed by the fix commit which adds an is_excluded() prohibited-folder check. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H = 9.1) rates it network-exploitable with no auth, high integrity and availability impact - consistent with overwriting Git configuration to alter behavior. However, the assigned vector marks C:N (no confidentiality) yet the advisory claims RCE, which would normally imply full confidentiality loss; this is a mild internal inconsistency worth noting. No EPSS score, KEV listing, or public POC was provided, so there is no evidence of active exploitation - the priority rests on the RCE potential plus Weblate's meaningful self-hosted footprint, not on observed attacks. The PR:N (unauthenticated) rating is also questionable: the fixed code path lives in backup restore / file-upload validation, which typically requires an authenticated project/upload role, so real-world exploitation likely needs at least low-privilege access despite the vendor's PR:N.

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 .git/config or path/.git/config, causing Weblate to overwrite the repository's Git configuration. By injecting Git config directives (e.g. hooks or command aliases), the attacker overrides Git behavior to achieve remote code execution on the server. No public exploit code was identified at time of analysis.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.8% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

pypi weblate fix: 5.15.1

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

NVD PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 8.8 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.8%
Top 45% exploitable
Prevalence
Medium
popular open-source self-hosted localization tool, common but not universal
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.8%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:weblate:weblate:*:*:*:*:*:*:*:*
CVE-2026-34393 HIGH
8.8 Apr 15

Privilege escalation in Weblate versions prior to 5.17 allows an authenticated low-privileged user to modify sensitive f

CVE-2022-23915 HIGH
8.8 Mar 04

The package weblate from 0 and before 4.11.1 are vulnerable to Remote Code Execution (RCE) via argument injection when u

CVE-2026-86035 HIGH
8.5 Sep 29

Argument injection in Weblate's Mercurial backend lets an authenticated user with project-scoped component.edit permissi

CVE-2026-55228 HIGH
8.1 Aug 26

Weblate's REST API failed to enforce permission scope on team (group) assignments in all versions prior to 2026.7, allow

CVE-2026-33435 HIGH
8.0 Apr 15

Remote code execution in Weblate's project backup restoration affects versions prior to 5.17, exploitable by authenticat

CVE-2026-23535 HIGH
8.0 Jan 16

The wlc Weblate command-line client prior to version 1.17.2 is vulnerable to arbitrary file write attacks through path t

CVE-2026-61792 HIGH
7.7 Aug 26

Arbitrary file read via symlink traversal in Weblate's App store metadata ZIP download affects all versions prior to 202

CVE-2026-34242 HIGH
7.7 Apr 15

Arbitrary file read vulnerability in Weblate versions prior to 5.17 allows authenticated attackers to read sensitive fil

CVE-2026-21889 HIGH
7.5 Jan 14

Weblate versions prior to 5.15.2 expose screenshot images through the web server without authentication controls, enabli

CVE-2026-33220 MEDIUM
6.8 Apr 15

Path traversal in Weblate allows authenticated users to read arbitrary files outside the repository via the translation

CVE-2026-24126 MEDIUM
6.6 Feb 19

Weblate versions up to 5.16.0 contains a vulnerability that allows attackers to an argument injection to `ssh-add` (CVSS

CVE-2026-62326 MEDIUM
6.5 Aug 26

Unbounded regular expression evaluation in Weblate prior to 2026.7 allows any authenticated user holding the built-in 'E

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy