WebauthnAuthenticator leaks sensitive HTTP headers through INFO-level logs
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-200.
Summary
## Impact `Webauthn\Bundle\Security\Http\Authenticator\WebauthnAuthenticator` logs the full `Symfony\Component\HttpFoundation\Request` object inside the log context of both `onAuthenticationSuccess()` and `onAuthenticationFailure()` at INFO level: ```php $this->logger->info('User has been authenticated successfully with Webauthn.', [ 'request' => $request, 'firewallName' => $firewallName, 'identifier' => $token->getUserIdentifier(), ]); $this->logger->info('Webauthn authentication request failed.', [ 'request' => $request, 'exception' => $exception, ]); ``` `Request::__toString()` returns the raw HTTP message, including every request header. As soon as the configured logger normalises or stringifies the context (default behaviour for `LineFormatter`, `JsonFormatter` via `NormalizerFormatter`, etc.), sensitive headers such as `Cookie` (session identifier), `Authorization` and any custom auth header are written to the log stream in clear text. Applications that forward logs to centralised platforms (ELK, Splunk, Datadog and similar) are particularly exposed: log access is typically broader than application access, which can allow log readers to hijack authenticated sessions. ## Affected versions Every release prior to 5.3.4 is affected. ## Patches The fix removes the full `Request` object from the log context and keeps only non-sensitive fields (request path, method, firewall name, user identifier). It is shipped in 5.3.4. Older branches will not receive a backport; users on those branches should upgrade to 5.3.4+ or apply one of the workarounds below. ## Workarounds Until the upgrade is applied, projects can: 1. Raise the minimum log level for the WebAuthn authenticator above INFO so these two log records are not emitted in production. 2. Configure their Monolog processor/formatter to strip the `request` key from the context of these records before they are written. ## Credit Reported by Kay Joosten (Dawn Technology), maintainer of [Stepup-Webauthn](https://github.com/OpenConext/Stepup-Webauthn).
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | web-auth/webauthn-symfony-bundle (Packagist) | before 5.3.4 | 5.3.4 | Patch available | GHSA-q683-8468-r6h6 |
- web-auth/webauthn-symfony-bundle (Packagist) Vendor— Affected before 5.3.4 Fixed in 5.3.4 Patch available GHSA-q683-8468-r6h6
Remediation
- Fix · GHSA-q683-8468-r6h6 web-auth/webauthn-symfony-bundle (Packagist) Fixed in 5.3.4 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-q683-8468-r6h6
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences