CVE-2024-47549
Executive Summary
CVE-2024-47549 is a medium-severity (CVSS 7.4) HTTP response header injection vulnerability affecting Sharp and Toshiba Tec Multifunction Printers (MFPs). The flaw resides in improper processing of query parameters in HTTP requests, allowing an attacker to contaminate HTTP response headers with unintended data. By crafting a malicious URL and luring a victim to access it, an attacker can inject arbitrary script into the web browser context, leading to Cross-Site Scripting (XSS) or other client-side attacks. No public exploit code or proof-of-concept is currently available, and no patch has been released by the vendors. The vulnerability is classified under CWE-113 (Improper Neutralization of CRLF Sequences in HTTP Headers) and is mapped to MITRE ATT&CK tactic T1190 (Exploit Public-Facing Application). The EPSS score is 0.0%, indicating low exploitation likelihood in the wild at this time.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to any software package manager (NPM, PyPI, Go, Ruby). It is a firmware-level issue in embedded devices (Sharp and Toshiba Tec MFPs). No supply chain package security implications exist.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
- Base Score: 7.4 (High)
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): Required (R) – Victim must click a crafted URL.
- Scope (S): Changed (C) – Impact extends beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): Low (L) – Limited service disruption.
Threat Level: High. Although no public exploit exists, the vulnerability is easy to exploit (low complexity, no privileges) and can lead to XSS attacks. The lack of a patch increases risk for unmitigated devices.
Deep Dive & Mechanics
The vulnerability stems from improper sanitization of query parameters in HTTP requests processed by the MFP's web interface. When a user accesses a crafted URL containing malicious query parameters, the device fails to neutralize CRLF sequences (carriage return and line feed) or other special characters. This allows an attacker to inject arbitrary HTTP headers into the response.
Attack Flow:
- Attacker crafts a URL like:
http://<mfp-ip>/some/path?param=%0d%0aX-Injected-Header:%20<script>alert(1)</script> - Victim clicks the link (e.g., via phishing email).
- The MFP processes the request and includes the injected header in the HTTP response.
- The victim's browser interprets the injected header, potentially executing malicious script (XSS) or performing other actions like session hijacking.
Root Cause: The device's HTTP server does not properly validate or encode query parameter values before including them in response headers. This is a classic CRLF injection (CWE-113) that can lead to HTTP response splitting or header injection.
Vulnerable vs. Patched Code
No patch is available. The vulnerable code likely resides in the MFP's web server firmware, where query parameters are concatenated directly into HTTP response headers without sanitization.
Vulnerable (pseudocode):
void handle_request(request *req) {
char header[1024];
sprintf(header, "X-Custom-Header: %s", req->query_param);
add_response_header(header);
}
Patched (expected):
void handle_request(request *req) {
char sanitized[1024];
sanitize_crlf(req->query_param, sanitized, sizeof(sanitized));
char header[1024];
snprintf(header, sizeof(header), "X-Custom-Header: %s", sanitized);
add_response_header(header);
}
The patch would require proper encoding or rejection of CRLF sequences (%0d%0a, \r\n) in query parameters.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Access to a vulnerable Sharp or Toshiba Tec MFP on the network.
- Ability to craft a malicious URL and deliver it to a victim (e.g., via phishing).
Exploitation Steps:
- Identify the MFP's IP address (e.g., via Shodan or network scan).
- Craft a URL with CRLF injection to inject a malicious script:
http://<mfp-ip>/cgi-bin/whatever?param=%0d%0aSet-Cookie:%20session=malicious%0d%0a<script>alert('XSS')</script> - Send the URL to the victim (e.g., via email or social engineering).
- When the victim clicks the link, the MFP returns a response with injected headers, causing the browser to execute the script.
No public exploit code is available. The above is a conceptual example.
Blue Team
Detection:
- Monitor HTTP requests to MFP devices for unusual query parameters containing
%0d%0a,\r\n, or other CRLF sequences. - Use network intrusion detection systems (NIDS) to alert on suspicious patterns.
Mitigation:
- Restrict access to MFP web interfaces to trusted networks only (e.g., via firewall rules).
- Disable unnecessary web services on the MFP if possible.
- Implement web application firewall (WAF) rules to block CRLF injection attempts.
- Monitor for phishing campaigns targeting internal users with links to MFP devices.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests to MFP devices containing
%0d%0aor\r\nin query parameters. - Unusual HTTP response headers like
X-Injected-HeaderorSet-Cookiewith unexpected values. - Referer headers pointing to phishing emails or malicious sites.
- HTTP requests to MFP devices containing
Host IOCs:
- Browser history showing URLs with encoded CRLF sequences.
- Unexpected cookies set by MFP domains.
File IOCs:
- No specific file-based IOCs.
Detection Engineering
YARA Rule
rule CVE_2024_47549_CRLF_Injection {
meta:
description = "Detects CRLF injection attempts targeting Sharp/Toshiba Tec MFPs"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-47549"
strings:
$crlf1 = "%0d%0a"
$crlf2 = "%0D%0A"
$crlf3 = "\\r\\n"
$header_inject = /Set-Cookie:|X-Injected-Header:|Location:/
condition:
any of ($crlf*) and any of ($header_inject)
}
Sigma Rule
title: CVE-2024-47549 CRLF Injection Attempt on MFP
id: 8a3f7c2e-1b5d-4a9f-8c6e-3d2f1a0b9e8c
status: experimental
description: Detects HTTP requests with CRLF sequences in query parameters targeting Sharp/Toshiba Tec MFPs
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: generic
detection:
selection:
cs-uri-query|contains:
- '%0d%0a'
- '%0D%0A'
- '\r\n'
cs-host|contains:
- 'sharp'
- 'toshiba'
condition: selection
falsepositives:
- Legitimate use of encoded characters (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-47549 CRLF Injection Attempt on MFP"; flow:to_server; content:"%0d%0a"; http_uri; pcre:"/(Set-Cookie|X-Injected-Header|Location)/Ri"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Place MFPs on isolated VLANs with strict access controls. Do not expose their web interfaces to the internet.
- Firewall Rules: Block inbound HTTP traffic to MFP IPs from untrusted networks.
- WAF Rules: Deploy a web application firewall with rules to block CRLF sequences (
%0d%0a,\r\n) in query parameters. - User Awareness: Train users not to click suspicious links, especially those pointing to internal device IPs.
Long-Term Fix:
- Await an official firmware patch from Sharp or Toshiba Tec. Contact vendor support for updates.
- If possible, disable the web interface entirely or restrict it to administrative use only.
Workaround:
- Use a reverse proxy to sanitize HTTP requests before they reach the MFP.
Valters IT
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.