PT-2026-105922 · Pypi · Wlc

Publicado

2026-10-01

·

Atualizado

2026-10-01

CVSS v3.1

2.3

Baixa

VetorAV:L/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:N

Impact

wlc could send an unscoped API token to an unintended server when run inside a directory tree containing attacker-controlled project configuration.
If .weblate, .weblate.ini, or weblate.ini defines an API url, and the user supplies a token with WLC KEY or --key without also pinning the URL, wlc would send the token to the project-configured URL.
Impacted users are those running wlc in untrusted repositories, pull request checkouts, or directories with untrusted ancestor configuration while using WLC KEY or --key.

Patches

The issue is patched in wlc 2.0.1 via https://github.com/WeblateOrg/wlc/pull/1500.
The fix rejects unscoped keys when the API URL comes from automatically discovered project configuration:
  • WLC KEY now requires WLC URL.
  • --key now requires --url.
  • URL-scoped keys in the [keys] configuration section remain supported.
Users should upgrade to wlc 2.0.1 or newer.

Workarounds

Without upgrading, users can avoid the issue by explicitly pinning the API URL whenever using an unscoped key:
WLC URL=https://hosted.weblate.org/api/ WLC KEY=... wlc ...
or:
wlc --url https://hosted.weblate.org/api/ --key ... ...
Alternatively, use URL-scoped keys in the [keys] section instead of WLC KEY or --key, and avoid running wlc with secrets in untrusted checkouts.
  • The issue was independently reported by type5afe and visionx7 using HackerOne.

Correção

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

PYSEC-2026-4180

Produtos afetados

Wlc