CVE-2026-22251

5.3 MEDIUM

📋 TL;DR

CVE-2026-22251 is a vulnerability in the wlc Weblate command-line client where unscoped API keys could be inadvertently leaked to different servers. This affects users of wlc versions prior to 1.17.0 who have configured unscoped API keys, potentially exposing their Weblate API credentials.

💻 Affected Systems

Products:
  • wlc (Weblate command-line client)
Versions: All versions prior to 1.17.0
Operating Systems: All platforms running wlc
Default Config Vulnerable: ✅ No
Notes: Only affects users who have configured unscoped API keys in wlc settings. Scoped API keys are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could intercept or capture API keys, gaining unauthorized access to Weblate instances to modify translations, access sensitive project data, or perform administrative actions depending on key permissions.

🟠

Likely Case

API keys could be leaked to unintended servers during normal wlc operations, potentially exposing credentials to third-party services or logging systems.

🟢

If Mitigated

With proper network segmentation and monitoring, leaked keys could be detected before exploitation, limiting potential damage.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires the attacker to intercept network traffic or access systems where API keys might be leaked. The vulnerability is in the client software, not the Weblate server.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.17.0

Vendor Advisory: https://github.com/WeblateOrg/wlc/security/advisories/GHSA-9rp8-h4g8-8766

Restart Required: No

Instructions:

1. Update wlc to version 1.17.0 or later using pip: 'pip install --upgrade wlc>=1.17.0' 2. Verify installation with 'wlc --version' 3. Replace any unscoped API keys with scoped API keys in your configuration.

🔧 Temporary Workarounds

Replace unscoped API keys with scoped keys

all

Replace any unscoped API keys in wlc configuration with properly scoped API keys that limit permissions

# Generate new scoped API key in Weblate web interface
# Update wlc config: wlc config set api_key YOUR_NEW_SCOPED_KEY

Remove unscoped API key configuration

all

Temporarily remove unscoped API keys from wlc configuration until upgrade

# Check current config: wlc config list
# Remove api_key: wlc config unset api_key

🧯 If You Can't Patch

  • Immediately replace all unscoped API keys with properly scoped API keys that have minimal necessary permissions
  • Implement network monitoring for API key leakage and restrict wlc usage to trusted networks only

🔍 How to Verify

Check if Vulnerable:

Check wlc version with 'wlc --version' and verify if below 1.17.0. Also check if unscoped API keys are configured using 'wlc config list'.

Check Version:

wlc --version

Verify Fix Applied:

Confirm wlc version is 1.17.0 or higher with 'wlc --version'. Verify no unscoped API keys are configured.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected API key usage patterns
  • Authentication attempts from unusual locations
  • Failed API requests with old/unscoped keys

Network Indicators:

  • API key strings in plaintext network traffic
  • wlc client connections to unexpected servers

SIEM Query:

source="*wlc*" AND ("api_key" OR "authentication") | stats count by src_ip, dest_ip

🔗 References

📤 Share & Export