GHSA-3mqq-hv9c-85hc
wlc may disclose API tokens to project-configured URLs
Quick fix
GHSA-3mqq-hv9c-85hc — wlc: upgrade to the fixed version with the command below.
pip install --upgrade 'wlc>=2.0.1'Details
### 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](https://hackerone.com/type5afe) and [visionx7](https://hackerone.com/visionx7) using HackerOne.
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/WeblateOrg/wlc/security/advisories/GHSA-3mqq-hv9c-85hc[WEB]
- https://github.com/WeblateOrg/wlc/pull/1500[WEB]
- https://github.com/WeblateOrg/wlc/commit/15cbdfc5b2c6183ef6864ea758091643a0ce6c89[WEB]
- https://github.com/WeblateOrg/wlc[PACKAGE]
- https://github.com/WeblateOrg/wlc/releases/tag/2.0.1[WEB]