CVE-2004-1584
Description
CRLF injection in wp-login.php of WordPress 1.2 enables HTTP Response Splitting, allowing attackers to inject arbitrary headers and body content.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
CRLF injection in wp-login.php of WordPress 1.2 enables HTTP Response Splitting, allowing attackers to inject arbitrary headers and body content.
Vulnerability
WordPress 1.2 contains a CRLF injection vulnerability in wp-login.php. The text parameter is not sanitized, allowing an attacker to inject carriage return and line feed characters (%0d%0a). This enables HTTP response splitting, where the attacker can prematurely terminate the legitimate HTTP response and inject an arbitrary second response [1]. Versions prior to 1.2.1 are affected [2].
Exploitation
An attacker sends a crafted POST request to wp-login.php with parameters action=login&mode=profile&log=USER&pwd=PASS and includes malicious CRLF sequences and a fake HTTP response in the text parameter [1]. The attacker must have valid user credentials to reach the vulnerable code path (the text parameter is handled after authentication) [1]. The injected response can include arbitrary content, such as a defacement message or a redirect to a malicious site [1].
Impact
Successful exploitation allows the attacker to perform HTTP response splitting. This can lead to content spoofing, web cache poisoning, and potentially cross-site scripting (XSS) by injecting arbitrary HTML or JavaScript that will be served to other users [1][3]. The attacker gains the ability to manipulate the content delivered by the server to the victim's browser, which may be trusted due to the origin domain [3].
Mitigation
The vulnerability is fixed in WordPress version 1.2.1 [2]. Users should upgrade to 1.2.1 or later. Gentoo Linux users can upgrade to >=www-apps/wordpress-1.2.2 [3]. No workaround is available for version 1.2 [3]. The vendor was notified and released the fix shortly after disclosure [2]. The issue is not listed on CISA's Known Exploited Vulnerabilities (KEV) catalog.
AI Insight generated on May 24, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2cpe:2.3:a:wordpress:wordpress:1.2:*:*:*:*:*:*:*+ 1 more
- cpe:2.3:a:wordpress:wordpress:1.2:*:*:*:*:*:*:*
- (no CPE)range: =1.2
Patches
0No patches discovered yet.
Vulnerability mechanics
Root cause
"The application does not properly sanitize user-supplied input in the 'text' parameter, allowing for CRLF characters to be injected."
Attack vector
A remote attacker can send a crafted POST request to `/wp-login.php` with the `text` parameter containing CRLF characters (`%0d%0a`). This allows the attacker to inject additional HTTP headers, such as `Connection: Keep-Alive` and `Content-Length: 0`, followed by a second, malicious HTTP response. This technique can be used to perform HTTP Response Splitting attacks, potentially modifying the HTML content delivered to the user [ref_id=1].
Affected code
The vulnerability exists in the `wp-login.php` script within WordPress version 1.2. The `text` parameter is processed in a way that allows for the injection of CRLF characters, leading to HTTP Response Splitting [ref_id=1].
What the fix does
The vendor released WordPress 1.2.1 to address this vulnerability. While the specific code changes are not detailed in the provided advisory, the fix likely involves sanitizing or stripping CRLF characters from the `text` parameter before it is used in constructing HTTP responses. This prevents attackers from injecting malicious headers and splitting responses [ref_id=1].
Preconditions
- inputThe 'text' parameter must be controllable by the attacker.
- networkThe attacker must be able to send a POST request to the vulnerable server.
Reproduction
POST /wp-login.php HTTP/1.0 Host: HOSTNAME Content-Type: application/x-www-form-urlencoded Content-length: 226
action=login&mode=profile&log=USER&pwd=PASS&text= %0d%0aConnection:%20Keep-Alive%0d%0aContent-Length:%20 0%0d%0a%0d%0aHTTP/1.0%20200%20OK%0d%0aContent-Length:%20 21%0d%0aContent-Type:%20text/html%0d%0a%0d%0a{html} *defaced*{/html} [ref_id=1]
Generated on Jun 4, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6News mentions
0No linked articles in our index yet.