Gakido vulnerable to HTTP Header Injection (CRLF Injection)
Date: 2026-01
Affected: pip/gakido
Attack vector: deepfake
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2026-24489
CWE: CWE-113
CWE-93
CVSS: 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N)

A vulnerability was discovered in Gakido that allowed HTTP Header Injection through CRLF (Carriage Return Line Feed) sequences in user-supplied header values and names. When making HTTP requests with user-controlled header values containing `\r\n` (CRLF), `\n` (LF), or `\x00` (null byte) characters, an attacker could inject arbitrary HTTP headers into the request. ## Impact An attacker who can control header values passed to Gakido's `Client.get()`, `Client.post()`, or other request methods could: 1. **Inject arbitrary HTTP headers** - Add malicious headers to requests 2. **HTTP Response Splitting** - Potentially manipulate responses in certain proxy configurations 3. **Cache Poisoning** - Inject headers that could poison intermediate caches 4. **Session Fixation** - Inject session-related headers 5. **Bypass Security Controls** - Inject headers that bypass server-side security checks ## Proof of Concept ```python from gakido import Client # Before fix: X-Injected header would be sent as a separate header c = Client(impersonate="chrome_120") r = c.get("https://httpbin.org/headers", headers={ "User-Agent": "test\r\nX-Injected: pwned" }) # The server would receive: # User-Agent: test # X-Injected: pwned ``` ## Affected Code The vulnerability existed in the header processing logic where user-supplied headers were not sanitized before being sent in HTTP requests. **File:** `gakido/headers.py` **Function:** `canonicalize_headers()` ## Fix The fix adds a `_saniti


Mitigations:

Architectural layers (MAESTRO):