CVE-2026-50188
Received Received - Intake

HTTP Header Injection in Kirby CMS

Vulnerability report for CVE-2026-50188, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-09

Last updated on: 2026-07-09

Assigner: GitHub, Inc.

Description

Kirby is an open-source content management system. Prior to 4.9.4 and 5.4.4, Kirby sites and plugins using the Kirby Http Remote class, including Remote::request(), Remote::get(), and Remote::post(), to send outgoing HTTP requests with untrusted data in the headers option could allow newline characters in a header value to inject a separate unintended request header to the remote service. This issue is fixed in versions 4.9.4 and 5.4.4.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-09
Last Modified
2026-07-09
Generated
2026-07-10
AI Q&A
2026-07-09
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 5 associated CPEs
Vendor Product Version / Range
getkirby kirby to 4.9.4 (exc)
getkirby kirby From 5.0.0 (inc) to 5.4.4 (exc)
getkirby kirby to 5.4.4 (exc)
getkirby kirby 4.9.4
getkirby kirby 5.4.4

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-93 The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.
CWE-113 The product receives data from an HTTP agent/component (e.g., web server, proxy, browser, etc.), but it does not neutralize or incorrectly neutralizes CR and LF characters before the data is included in outgoing HTTP headers.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-50188 is a request header injection vulnerability in the Kirby CMS affecting versions prior to 4.9.4 and 5.4.4. It occurs when untrusted user-controlled data is passed into the headers option of HTTP requests made using the Kirby\Http\Remote class methods such as Remote::request(), Remote::get(), and Remote::post().

Attackers can exploit this vulnerability by injecting newline characters (\r\n) into header values, which allows them to inject additional unintended HTTP headers or override existing ones in outgoing requests. This can lead to unauthorized modifications of security-relevant headers like Authorization, Host, or Cookie.

The issue arises because the header values are not properly sanitized to remove carriage return and newline characters, enabling header injection attacks. This vulnerability is fixed in Kirby versions 4.9.4 and 5.4.4 by stripping these characters from header values before sending the requests.

Impact Analysis

This vulnerability can impact you by allowing attackers to manipulate outgoing HTTP requests from your Kirby CMS site or plugins that use the vulnerable Remote class methods. Specifically, attackers can inject or override HTTP headers, potentially leading to unauthorized actions.

  • Injection of additional headers could allow attackers to perform request smuggling or cache poisoning attacks on the remote service.
  • Unauthorized modification of security-relevant headers such as Authorization, Host, or Cookie could lead to security breaches or data leakage.
  • The vulnerability requires network access but no special privileges or user interaction, making it moderately severe.

However, the vulnerability does not affect default Kirby installations and is only relevant if your site or plugins dynamically construct HTTP headers from untrusted user input.

Detection Guidance

This vulnerability involves injection of newline characters into HTTP request headers sent by the Kirby CMS Remote class. Detection involves identifying outgoing HTTP requests with suspicious header values containing CRLF (carriage return and line feed) characters.

You can monitor outgoing HTTP requests from your Kirby installation or plugins that use the Remote class to see if any headers contain newline characters or unexpected header injections.

Suggested commands include using network traffic analysis tools such as tcpdump or Wireshark to capture HTTP requests and inspect headers for CRLF sequences.

  • tcpdump -i <interface> -A -s 0 'tcp port 80 or tcp port 443' | grep -P '\r|\n'
  • Use Wireshark to filter HTTP requests and examine header fields for suspicious line breaks or injected headers.

Additionally, review your Kirby site code or plugins for usage of Remote::request(), Remote::get(), or Remote::post() methods with untrusted data in headers.

Mitigation Strategies

The primary mitigation is to upgrade Kirby CMS to version 4.9.4 or 5.4.4 or later, where the vulnerability is fixed by stripping carriage return and newline characters from header values before sending HTTP requests.

If upgrading immediately is not possible, review and sanitize any user-controlled input used in HTTP headers to ensure it does not contain newline characters.

Avoid passing untrusted data directly into the headers option of Remote::request(), Remote::get(), or Remote::post() methods.

Apply patches or code changes that remove CRLF characters from header values, similar to the fixes described in the Kirby source code updates.

Compliance Impact

This vulnerability allows attackers to inject unauthorized HTTP headers by exploiting newline characters in header values, potentially modifying security-relevant headers such as Authorization, Host, or Cookie.

Such unauthorized modifications could lead to request smuggling or cache poisoning, which may result in unauthorized access or data leakage.

While the CVE description does not explicitly mention compliance with standards like GDPR or HIPAA, the ability to manipulate security headers and potentially expose sensitive data could impact compliance with these regulations, which require protection of personal and sensitive information.

Therefore, if exploited, this vulnerability could undermine the confidentiality and integrity requirements mandated by common standards and regulations.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-50188. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart