You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Webhook URL leaked via println! in production code #568
The webhook notification code in dstack/vmm/src/app/qemu.rs logs the full webhook URL including any embedded authentication tokens at the info log level, exposing secrets to anyone with log access.
Root Cause
The webhook-based auth API implementation uses println! to log the webhook URL in production code paths. Webhook URLs often contain authentication tokens or secrets in query parameters or path segments (e.g., Slack webhook URLs, GitHub webhook secrets).
KMS is configured with a webhook auth API that uses a URL containing authentication tokens
The webhook URL is printed to stdout via println!
stdout may be captured by logging infrastructure, container orchestrators, or monitoring systems
An attacker with access to logs obtains the webhook URL including its embedded secrets
Attacker can call the webhook directly, potentially bypassing authorization checks
Impact
Information disclosure of potentially sensitive webhook URLs through stdout. The severity depends on whether the webhook URL contains authentication tokens. If it does, the attacker gains the ability to make authenticated webhook calls.
Suggested Fix
Replace println! with a structured logging call that redacts the URL:
tracing::debug!("Webhook auth API configured");// Do NOT log the URL itself
If the URL must be logged for debugging, redact sensitive parts:
tracing::debug!("Webhook configured for host: {}", url.host_str().unwrap_or("unknown"));
Note: This issue was created automatically. The vulnerability report was generated by Claude and has not been verified by a human.
Activity
kvinwang commentedon Mar 18, 2026
This was already fixed in 79b8b8d — the
println!was removed as part of the auth API error logging improvements.