Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain 'Edit source' role credentials
-
DeliveryCraft catastrophically-backtracking regex (e.g., ^(a|aa)+$)
-
ExploitSubmit pattern as source string quality-check flag
-
ExecutionWeblate re-evaluates regex across all linked target units
-
PersistCPU exhaustion pins server
-
ImpactService denied to all platform users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated Weblate account with the built-in 'Edit source' role, which grants write access to source string flags. The malicious pattern must be placed in a 'regex:' or 'placeholders:' quality-check flag on a source string; impact scales with the number of linked target translation units, since Weblate re-evaluates the check for each unit in the same request. Versions prior to 2026.7 are required. Anonymous users, read-only translators, and accounts without the 'Edit source' role cannot exploit this. No special network positioning, non-default configuration, or prior system compromise is required beyond role possession. |
| Impact | The vendor-assigned CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H and score of 6.5 accurately captures the threat profile: network-accessible, low complexity, but gated on a low-privilege role with no confidentiality or integrity impact. The PR:L constraint is the most significant limiting factor - anonymous users and read-only translators cannot exploit this, so the attack surface is restricted to accounts explicitly granted the 'Edit source' role. EPSS data was not included in the provided intelligence, and the issue does not appear in CISA KEV, meaning no confirmed active exploitation has been observed. The absence of a public POC further suppresses opportunistic risk. The notable amplification factor - one flag edit re-triggers evaluation across all linked target units in a single synchronous request - means exploitation impact scales with project size, so large community translation projects with many target languages face a higher effective DoS severity than small deployments. Overall this is a genuine patching priority for any Weblate instance with untrusted or externally-sourced contributors, but not an emergency for tightly controlled internal deployments. |
| Exploit ScenarioDerived | An authenticated Weblate contributor holding the 'Edit source' role submits a source string flag such as 'regex:^(a|aa)+$' targeting a source string linked to dozens or hundreds of translated languages. On saving, Weblate synchronously re-evaluates the regex check against every linked target unit in the same HTTP request, triggering exponential backtracking for each unit and pinning one or more server CPU cores. No public POC has been identified, but the technique is well-understood and the attack requires only standard Weblate web UI access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
Unbounded regular expression evaluation in Weblate prior to 2026.7 allows any authenticated user holding the built-in 'Edit source' role to induce sustained CPU exhaustion by storing a catastrophically-backtracking pattern in a source string's quality-check flags. Both the RegexCheck and PlaceholderCheck mechanisms compile user-supplied expressions at validation time but execute them without any runtime timeout, so a single malicious flag edit can pin server CPU indefinitely by re-triggering evaluation across every linked translation unit in the same request. No public exploit code exists and the issue is not listed in CISA KEV, but the low complexity and clear role-based attack path make it a credible internal or supply-chain threat for multi-contributor Weblate deployments.
RemediationAI
Upgrade to Weblate 2026.7, which introduces regex execution timeouts in RegexCheck and PlaceholderCheck via new wrapper functions in weblate/utils/regex.py; the fix is confirmed in commit 8fd8431414bec5c86dbc94815319fc474518286a and detailed in the vendor advisory at https://github.com/WeblateOrg/weblate/security/advisories/GHSA-r52j-4vjp-q949. As a pre-patch compensating control, administrators should audit and restrict assignment of the 'Edit source' built-in role to only fully trusted users, since exploitation is impossible without this role; the trade-off is reduced contributor autonomy and potential workflow friction for large open-source projects. There is no evidence of a configuration knob to globally disable regex-based quality checks without code changes, so role restriction is the only practical workaround short of patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
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-400 (Uncontrolled Resource Consumption), specifically the Regular Expression Denial of Service (ReDoS) sub-class caused by catastrophic backtracking. Weblate's translation quality subsystem exposes two user-configurable regex entry points: the 'regex:' quality check flag (evaluated in RegexCheck) and the 'placeholders:' flag (evaluated in PlaceholderCheck). Both accept raw regex strings stored in source string metadata. The 'regex' library compiles these expressions during flag validation, but the subsequent calls to findall() and finditer() in check_target() and related methods carried no execution timeout prior to version 2026.7. Patterns with exponential or polynomial backtracking - such as ^(a|aa)+$ - cause the Python interpreter to spin indefinitely on partially-matching inputs. The CPE cpe:2.3:a:weblateorg:weblate:*:*:*:*:*:*:*:* covers all pre-2026.7 releases. The fix (commit 8fd8431414bec5c86dbc94815319fc474518286a) introduces wrapper functions regex_findall() and regex_finditer() in weblate/utils/regex.py that enforce a timeout, replacing bare library calls throughout both check modules and the highlight path in PlaceholderCheck.
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:L/UI:N/S:U/C:N/I:N/A:H
Network-accessible web app, low complexity; PR:L because exploitation requires the 'Edit source' role; pure availability impact with no confidentiality or integrity exposure.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Weblate is a web-based continuous localization platform used to manage software translations. In versions prior to 2026.7, a user with the built-in "Edit source" role can store a malicious regular expression in a source string's flags that is executed without any timeout, allowing them to stall requests and deny service. Regular expressions supplied through the regex: quality check and regex placeholders are compiled during validation but later run against translation content in RegexCheck and PlaceholderCheck with no time limit, so a catastrophic-backtracking pattern like ^(a|aa)+$ can consume CPU indefinitely. Because Weblate re-runs these checks for every linked target unit in the same request when a source unit's flags change, a single edit can trigger sustained CPU-bound denial of service. This issue is fixed in version 2026.7.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Improper input validation in Weblate versions prior to 5.15.1 lets a user who can submit translation files or restore pr
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
EUVD-2026-66718
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB