Tenable discloses PKCE vulnerability in Hermes Agent login
Start here
Tenable disclosed a PKCE vulnerability in the Hermes Agent GET /auth/native/authorize login flow that can lead to full takeover of a victim's account session. The flow uses Python's urllib.parse.urlparse to validate redirect_uri but returns the unnormalized raw value to the browser; because the Python parser and the browser's WHATWG parser handle backslashes differently, the server believes the redirect target is the loopback address 127.0.0.1, while the browser redirects to an attacker-controlled target.
Generated by AI from reports · Updated 2 days ago
Progress timeline
- Tenable®SelectedTenable discloses Hermes Agent login PKCE vulnerability that could enable session hijacking
Tenable disclosed a PKCE vulnerability in Hermes Agent's GET /auth/native/authorize login flow that can lead to complete takeover of a victim's account session. The flow uses Python's urllib.parse.urlparse to validate redirect_uri, but returns the unnormalized raw value to the browser, and the Python parser and the browser's WHATWG parser handle backslashes differently; the server believes the target is the loopback address 127.0.0.1, but the browser will redirect to another origin controlled by the attacker. The attacker also chooses the PKCE challenge themselves and can use the leaked authorization code to exchange for tokens for the victim's account. In testing, a constructed URL made the browser visit a second origin with the code and state parameters; placing a remote host before the backslash also received the authorization code.
Related discussion
Attention trend
New sources per day
- Oct 9New1 sources (1 outlets,0 accounts)
- Oct 10New0 sources (0 outlets,0 accounts)
- Oct 11New0 sources (0 outlets,0 accounts)
- Oct 12New0 sources (0 outlets,0 accounts)