CVE-2026-3691 Overview
CVE-2026-3691 is an information disclosure vulnerability in OpenClaw Client affecting the implementation of OAuth authorization with PKCE (Proof Key for Code Exchange). This vulnerability allows remote attackers to disclose stored credentials on affected installations of OpenClaw. The flaw exists within the OAuth authorization implementation, where sensitive data is improperly exposed in the authorization URL query string.
User interaction is required to exploit this vulnerability—specifically, the target must initiate an OAuth authorization flow. An attacker can leverage this vulnerability to disclose stored credentials, potentially leading to further compromise of user accounts and associated services.
Critical Impact
Remote attackers can intercept PKCE verifier values exposed in authorization URLs, enabling credential disclosure and potential account takeover when users initiate OAuth flows.
Affected Products
- OpenClaw Client (versions not specified in advisory)
Discovery Timeline
- 2026-04-11 - CVE-2026-3691 published to NVD
- 2026-04-13 - Last updated in NVD database
Technical Details for CVE-2026-3691
Vulnerability Analysis
This vulnerability (tracked as ZDI-CAN-29381) stems from improper handling of sensitive OAuth parameters during the authorization flow. PKCE is a security extension to OAuth 2.0 designed to prevent authorization code interception attacks, particularly in public clients where the client secret cannot be stored securely.
The vulnerability allows attackers on the network path to capture the PKCE code verifier value when it is inappropriately exposed in the authorization URL query string. Under the PKCE specification (RFC 7636), the code verifier should never be transmitted directly—only the hashed code_challenge should be sent in the authorization request, with the original verifier only sent during the token exchange.
Root Cause
The root cause is classified as CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). The OpenClaw client implementation incorrectly includes the PKCE code verifier in the authorization URL query parameters, rather than keeping it client-side until the token exchange phase. This violates the fundamental security property of PKCE by exposing the secret value that should protect the authorization code exchange.
Attack Vector
The attack vector is network-based with high complexity, requiring no privileges but necessitating user interaction. An attacker positioned to observe network traffic (such as through a man-in-the-middle position, malicious browser extension, or server-side logging) can capture the exposed PKCE verifier from the authorization URL.
The attack flow involves:
- User initiates OAuth authorization flow in OpenClaw client
- Client generates authorization URL with PKCE parameters
- Code verifier is incorrectly exposed in the URL query string
- Attacker intercepts the authorization request via network observation
- Attacker uses the captured verifier to complete the token exchange after obtaining the authorization code
- Stored credentials associated with the OAuth flow are disclosed
For technical implementation details, see the GitHub Security Advisory and Zero Day Initiative Advisory ZDI-26-229.
Detection Methods for CVE-2026-3691
Indicators of Compromise
- Unusual authorization URL patterns containing code_verifier parameters in query strings
- Multiple OAuth token exchange attempts from different IP addresses using the same authorization code
- Evidence of credential access from unexpected locations following OAuth authentication events
- Authorization server logs showing verifier values in request URLs rather than POST bodies
Detection Strategies
- Monitor network traffic for OAuth authorization requests containing PKCE verifier values in URL parameters
- Implement alerting on OAuth flows where the same authorization code is used with token exchange attempts from multiple sources
- Review application logs for authorization URLs that inappropriately include sensitive cryptographic values
- Deploy network intrusion detection rules to identify PKCE implementation violations in OAuth traffic
Monitoring Recommendations
- Enable verbose logging on OAuth authorization servers to track authorization code usage patterns
- Implement anomaly detection for OAuth token exchanges that occur from different network contexts than the original authorization
- Configure SIEM rules to correlate OAuth authorization requests with subsequent credential access events
- Monitor for signs of credential misuse following user-initiated OAuth flows in OpenClaw
How to Mitigate CVE-2026-3691
Immediate Actions Required
- Review and update OpenClaw client installations to patched versions when available
- Audit existing OAuth authorization flows for proper PKCE implementation
- Implement network segmentation to limit exposure of OAuth traffic to potential attackers
- Consider temporarily disabling PKCE-based authentication if a patch is not yet available and risk is unacceptable
- Force re-authentication for users who may have been exposed to this vulnerability
Patch Information
Security patches and remediation guidance are available through the official security advisories. Administrators should consult the GitHub Security Advisory GHSA-6g25-pc82-vfwp for specific patch versions and update instructions. The vulnerability has also been documented by the Zero Day Initiative as ZDI-26-229.
Workarounds
- Implement additional transport-layer security to protect OAuth flows from network observation
- Deploy a reverse proxy or API gateway that strips sensitive parameters from authorization URLs before logging
- Use network monitoring to detect and alert on improper PKCE parameter exposure
- Consider implementing additional authentication factors to reduce impact of potential credential disclosure
- Restrict OAuth scopes to minimize the impact of any credential compromise
# Example: Audit OAuth authorization URLs in web server logs for exposed verifiers
grep -E "code_verifier=" /var/log/nginx/access.log | \
awk '{print $1, $4, $7}' | \
sort -u > potential_pkce_exposure.txt
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

