Fedora Account System
Red Hat Associate
Red Hat Customer
The production binary unconditionally initialises tracing at DEBUG level and logs every incoming Authorization header value and full chat payload (including PII and secrets) to stdout, which flows to the node journal and cluster logging stack. File: src/main.rs:67-71 (init), src/main.rs:163,210,268 (payload), src/main.rs:425,494 (headers), src/main.rs:461 (response) Framework: ASVS V7.1.1, V8.3.5 CWE: CWE-532 (Insertion of Sensitive Information into Log File) CVSS v3.1: N/A — High Detail tracing_subscriber::fmt() .with_max_level(tracing::Level::DEBUG) ... .init(); Per request: tracing::debug!("... payload: {:?}", payload) logs full prompt/message body (PII, secrets pasted into chat) tracing::debug!("Header {}: {:?}", name, value) iterates all incoming headers, including Authorization: Bearer …, before the allow-list filter is applied Full orchestrator response body is also logged In OpenShift these go to stdout → node journal → cluster logging stack, readable by anyone with pods/log RBAC on the namespace. Impact Bearer tokens (service account tokens, user OAuth tokens) and full chat payloads (potentially containing PII, credentials, proprietary data) are written to persistent logs. Any user with pods/log access can harvest credentials and sensitive conversation content. Compounding Factors H-1: No authentication means any pod can trigger log entries Log retention policies may persist tokens beyond their validity period Remediation Default max_level to INFO (env-overridable via RUST_LOG); never log header values for authorization/cookie; redact or drop payload body logging outside an explicit dev mode.