Description
CodeIgniter is a PHP full-stack web framework. In versions prior to 4.7.4, IncomingRequest::isSecure() trusted the X-Forwarded-Proto and Front-End-Https headers from any incoming request, allowing an attacker could spoof these headers and cause the application to incorrectly treat an HTTP request as secure. This may have impacted applications that rely on isSecure(), force_https(), forceGlobalSecureRequests, or similar logic to enforce HTTPS-only access or make security-sensitive decisions. Exploitability depends on deployment configuration. Applications are most exposed if the backend is reachable directly over HTTP, or if a reverse proxy/load balancer forwards client-supplied forwarding headers without stripping or overwriting them. This issue has been fixed in version 4.7.4.
Published: 2026-07-31
Score: 4.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw lies in the isSecure() method of the CodeIgniter 4 request handling class. By trusting the X-Forwarded-Proto and Front-End-Https headers sent by any requester, the method can be tricked into declaring an otherwise plain HTTP request to be secure. This misidentification can lead to applications that enforce HTTPS-only access, log sensitive data, or perform security‑related decisions to believe that a connection is protected when it is not. The vulnerability does not allow arbitrary code execution or privilege escalation, but it does undermine the integrity of security controls that depend on accurate protocol detection.

Affected Systems

All installations of CodeIgniter 4 that are older than version 4.7.4 are affected. The security issue is specific to the Core framework’s request handling and has no product sub‑version nuance beyond the main 4.x line. Any application built with CodeIgniter 4, regardless of specific business logic, can be impacted if its security configuration relies on the isSecure() method, the force_https() helper, or the global secure request flag.

Risk and Exploitability

The CVSS score is 4.8, indicating moderate severity. The EPSS score is < 1%, indicating a very low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. An attacker can exploit it by sending HTTP requests that include forged X-Forwarded-Proto or Front-End-Https headers, provided the backend is reachable directly over HTTP or a reverse proxy forwards client‑supplied forwarding headers without removing or replacing them. If the application trusts such headers, it will incorrectly treat the connection as secure, potentially bypassing HTTPS enforcement or other security‑sensitive logic.

Generated by OpenCVE AI on August 2, 2026 at 04:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade CodeIgniter to version 4.7.4 or later, which contains the audit‑trail fix that no longer trusts arbitrary forwarded headers.
  • Reconfigure any reverse proxy or load balancer to strip or overwrite X-Forwarded-Proto and Front-End-Https headers coming from end‑users before they reach the application, ensuring only trusted internal proxies can set them.
  • Review and adjust application settings that rely on isSecure(), such as force_https() or global secure request flags, to confirm they are applied only when a trusted proxy is confirmed and that the framework’s default header trusting is disabled after the patch.

Generated by OpenCVE AI on August 2, 2026 at 04:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-7wmf-pw8j-mc78 CodeIgniter: Spoofable forwarded HTTPS headers in IncomingRequest::isSecure()
History

Sun, 02 Aug 2026 19:45:00 +0000

Type Values Removed Values Added
First Time appeared Codeigniter
Codeigniter codeigniter
Vendors & Products Codeigniter
Codeigniter codeigniter

Fri, 31 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 31 Jul 2026 04:15:00 +0000

Type Values Removed Values Added
Description CodeIgniter is a PHP full-stack web framework. In versions prior to 4.7.4, IncomingRequest::isSecure() trusted the X-Forwarded-Proto and Front-End-Https headers from any incoming request, allowing an attacker could spoof these headers and cause the application to incorrectly treat an HTTP request as secure. This may have impacted applications that rely on isSecure(), force_https(), forceGlobalSecureRequests, or similar logic to enforce HTTPS-only access or make security-sensitive decisions. Exploitability depends on deployment configuration. Applications are most exposed if the backend is reachable directly over HTTP, or if a reverse proxy/load balancer forwards client-supplied forwarding headers without stripping or overwriting them. This issue has been fixed in version 4.7.4.
Title CodeIgniter: Spoofable forwarded HTTPS headers in IncomingRequest::isSecure()
Weaknesses CWE-348
References
Metrics cvssV3_1

{'score': 4.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N'}


Subscriptions

Codeigniter Codeigniter
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-31T13:58:31.522Z

Reserved: 2026-07-15T22:19:06.907Z

Link: CVE-2026-63220

cve-icon Vulnrichment

Updated: 2026-07-31T13:58:19.798Z

cve-icon NVD

Status : Received

Published: 2026-07-31T04:17:24.337

Modified: 2026-07-31T14:16:50.750

Link: CVE-2026-63220

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T19:30:17Z

Weaknesses
  • CWE-348

    Use of Less Trusted Source