Skip to main content

Weblate CVE-2026-50127

| EUVDEUVD-2026-36113 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-06-10 GitHub_M GHSA-vmfc-9982-2m45
5.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Identify NAT64-enabled Weblate cloud host
  2. Delivery
    Register attacker-controlled domain with AAAA record encoding private IPv4 via NAT64 prefix
  3. Exploit
    Submit malicious VCS repository URL to Weblate
  4. Execution
    Weblate outbound validator passes NAT64 address as globally routable
  5. Persist
    Host kernel routes connection to embedded private IPv4 target (e.g., IMDS)
  6. Impact
    Retrieve internal service response including credential material

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The primary exploitation path (NAT64 bypass) requires that the Weblate host operates on a network with NAT64 translation configured at the kernel level, routing 64:ff9b::/96 traffic to the embedded IPv4 endpoint; this is common in IPv6-only cloud VPCs (AWS, GCP) but not in traditional dual-stack or IPv4-only deployments. The 6to4 bypass path (2002::/16) similarly depends on 6to4 gateway availability in the network path. The multicast, ORCHIDv2, and 6to4 relay anycast bypasses do not require special host configuration but typically do not route to exploitable internal services. The attacker must be able to submit a URL to Weblate that triggers an outbound DNS resolution and HTTP/Git connection - for example, via the component repository URL field, webhook configuration, or any Weblate feature that fetches from user-supplied URLs. VCS_RESTRICT_PRIVATE must be the operative SSRF control (i.e., no independent network-layer egress filtering is in place). Exploitation is limited by the need for attacker-controlled DNS responses returning transition-encoded addresses and by the network topology of the target host.

Impact

CVSS 5.9 with AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N reflects genuinely elevated but operationally constrained risk. The High attack complexity (AC:H) is well-justified: the most impactful attack path (NAT64 bypass to IMDS) requires that the Weblate host operates in a NAT64-configured network environment, typical of IPv6-only or dual-stack cloud VPCs but not universal. The unchanged scope (S:U) means the vulnerability does not directly compromise adjacent systems, though SSRF to IMDS can yield cloud IAM credentials leading to broader compromise. Confidentiality impact is High because internal service responses - including credential material from AWS/GCP/Azure metadata services - can be exfiltrated. There is no integrity or availability impact. No CISA KEV listing and no public POC have been identified, making widespread opportunistic exploitation unlikely at time of analysis. EPSS data was not provided in the input, so exploitation probability cannot be quantified beyond CVSS signals. The vendor's PR:N assessment may overstate exposure for deployments where repository URL configuration requires authentication - defenders should verify which Weblate features accessible to unauthenticated users trigger outbound VCS requests in their specific deployment.

Exploit ScenarioDerived

An attacker with access to Weblate's repository URL configuration submits a Git repository URL whose hostname is controlled by the attacker and whose DNS AAAA record returns 64:ff9b::a9fe:a9fe (the NAT64 encoding of 169.254.169.254, the AWS IMDS endpoint). Weblate's outbound validator passes the address because Python's ipaddress classifies 64:ff9b::/96 as globally routable, but the host kernel - with NAT64 configured - routes the TCP connection to 169.254.169.254. The Weblate server receives the IMDS response containing IAM role credentials, which the attacker retrieves through Weblate's error output or a covert timing channel. No public proof-of-concept has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 10, 2026

Server-Side Request Forgery in Weblate's VCS_RESTRICT_PRIVATE control (versions 5.15 through pre-2026.6) allows bypassing of outbound request restrictions via IPv6 transition address encoding techniques. By supplying a hostname whose DNS AAAA record resolves to a NAT64-wrapped, 6to4-wrapped, or IPv4-compatible IPv6 address that encodes a private IPv4 endpoint, an attacker causes Weblate's validator to pass the address as globally routable while the host kernel routes the packet to the embedded private IPv4 target. The vulnerability carries High confidentiality impact (CVSS 5.9, AV:N/AC:H) because SSRF can expose internal services such as cloud IMDS credential endpoints; no public exploit or CISA KEV listing has been identified at time of analysis.

RemediationAI

The vendor-released patch is Weblate version 2026.6, available at https://github.com/WeblateOrg/weblate/releases/tag/weblate-2026.6; administrators should upgrade immediately. The fix is contained in weblate/utils/outbound.py and adds recursive IPv6 transition address unwrapping plus extended special-use prefix blocking. If immediate upgrade is not feasible, the most reliable compensating control is network-layer egress filtering on the Weblate host: block outbound connections from the Weblate process to RFC1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8), link-local (169.254.0.0/16 and fe80::/10), and their IPv6 counterparts (fc00::/7, ::1/128), as well as the NAT64 prefix 64:ff9b::/96 and 6to4 range 2002::/16. This firewall-level restriction operates independently of application validation and cannot be bypassed by address encoding. Trade-off: overly broad egress rules may break legitimate VCS integrations with on-premises repositories; test against your repository network topology before applying. Do not treat VCS_RESTRICT_PRIVATE alone as a sufficient SSRF mitigation on affected versions.

Affected VersionsENISA

weblate 5.15, < 2026.6

Affected Packages

pypi weblate fix: 2026.6

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

Weblate's outbound URL guard in weblate/utils/outbound.py relied on Python's ipaddress.IPv6Address.is_global to classify whether a resolved IP address is safe for outbound connection. CWE-918 (Server-Side Request Forgery) applies: the root cause is incomplete sanitization of attacker-controlled network destinations. Python's is_global classifies the NAT64 well-known prefix 64:ff9b::/96 (RFC 6052) as globally routable, but on hosts with NAT64 translation configured the kernel routes these packets to the IPv4 address embedded in the last 32 bits, enabling a private-address bypass. The same logic flaw applied to: 6to4 addresses (2002::/16, RFC 3056, encodes IPv4 in bits 16-47), IPv4-compatible addresses (::N.N.N.N/96, deprecated by RFC 4291 but still routable on some hosts), multicast ranges (IPv4 224.0.0.0/4, IPv6 ff00::/8), 6to4 relay anycast (192.88.99.0/24), ORCHIDv2 (2001:20::/28), and IPv6 Segment Routing (5f00::/16). The fix in PR #19768 adds an _unwrap_ipv6_transition helper that recursively resolves the embedded IPv4 address before the is_global check, and adds explicit blocklist logic for special-use prefixes not covered by is_global. CPE cpe:2.3:a:weblateorg:weblate:*:*:*:*:*:*:*:* covers all affected versions.

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

Vendor (GitHub_M) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.3 MEDIUM

PR:L assigned because configuring VCS repository URLs in Weblate requires at minimum authenticated project-member access; AC:H retained because NAT64 host configuration is a prerequisite for the primary exploit path.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
SUSE MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Jun 10, 2026 - 21:16 EUVD

DescriptionCVE.org

Weblate is a web based localization tool. From version 5.15 to before version 2026.6, Weblate's VCS_RESTRICT_PRIVATE did not properly account for some transitional IPv6 ranges, multicast addresses, or some semi-private IPv4 ranges, which allowed some addresses to bypass private range restrictions. This issue has been patched in version 2026.6.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Threat Intel
1
1 sources
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

CVE-2025-68398 CRITICAL
9.1 Dec 18

Improper input validation in Weblate versions prior to 5.15.1 lets a user who can submit translation files or restore pr

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

Vendor StatusVendor

SUSE

Severity: Moderate

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