VYPR
Unrated severityNVD Advisory· Published Dec 31, 2004· Updated Apr 16, 2026

CVE-2004-1584

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

2

Patches

0

No 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

6

News mentions

0

No linked articles in our index yet.