MediumGHSA-x5mq-jjr3-vmx6CVE-2025-24013

Missing validation of header name and value in codeigniter4/framework

Published 21 Jan 2025 · Updated 4 Feb 2026

Affected package

Affected
<4.5.8
Fixed in
4.5.8
Update to the fixed version for your release line, for example:composer require codeigniter4/framework:^4.5.8

Details

Impact

Lack of proper header validation for its name and value. The potential attacker can construct deliberately malformed headers with Header class. This could disrupt application functionality, potentially causing errors or generating invalid HTTP requests. In some cases, these malformed requests might lead to a DoS scenario if a remote service’s web application firewall interprets them as malicious and blocks further communication with the application.

Patches

Upgrade to v4.5.8 or later.

Workarounds

Validate HTTP header keys and/or values if using user-supplied values before passing them to Header class.

Differences from CVE-2023-29197

1. Affected Software:

  • CVE-2023-29197 specifically addresses a vulnerability in the guzzlehttp/psr7 library.
  • The reported issue in this Security Advisory is within the CodeIgniter4 framework and does not depend on or use the guzzlehttp/psr7 library.

2. Root Cause and Implementation:

  • The vulnerability reported arises from an issue in the Header class of CodeIgniter4, which is unrelated to the functionality or implementation of guzzlehttp/psr7.

3. Scope of Impact:

  • The vulnerability described in this Security Advisory affects applications built with the CodeIgniter4 framework, which does not use or rely on the guzzlehttp/psr7 library.

References

  • https://datatracker.ietf.org/doc/html/rfc7230#section-3.2
  • https://github.com/advisories/GHSA-wxmh-65f7-jcvw

Is GHSA-x5mq-jjr3-vmx6 in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected codeigniter4/framework, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.