GIVE YOUR AGENT THE EVIDENCE

Set up in your agent.

One prompt to get started. Paste it into your coding agent to connect cve.new through MCP and bring vulnerability context into your workflow.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

GIVE YOUR AGENT THE EVIDENCE

Investigate in your agent.

Turn this advisory into a focused investigation. Ask your agent to check your project’s versions, explain the evidence, and suggest a compatible fix.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

GHSA-7wmf-pw8j-mc78medium4.8

CodeIgniter: Spoofable forwarded HTTPS headers in IncomingRequest::isSecure()

Check your stack

The advisory, in context

Impact

IncomingRequest::isSecure() trusted the X-Forwarded-Proto and Front-End-Https headers from any incoming request. In affected deployments, an attacker could spoof these headers and cause the application to incorrectly treat an HTTP request as secure.

This may impact 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.

Patches

Upgrade to v4.7.4 or later.

Workarounds

Users who cannot upgrade immediately should enforce HTTP-to-HTTPS redirects outside CodeIgniter, for example with Apache .htaccess/virtual host rules, nginx server blocks, Caddy site config, or load balancer redirect rules.

Users should also ensure that reverse proxies strip or overwrite client-supplied X-Forwarded-Proto and Front-End-Https headers before forwarding requests to the application.

Affected packages

Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.

Ecosystem versions

Earlier releases before 4.7.4

Fixed in 4.7.4

78 explicitly affected versions

4.0.0, 4.0.0-rc.4, v4.0.0-alpha.3, v4.0.0-alpha.4, v4.0.0-alpha.5, v4.0.0-beta.1, v4.0.0-beta.2, v4.0.0-beta.3, v4.0.0-beta.4, v4.0.0-rc.1, v4.0.0-rc.2, v4.0.0-rc.2.1, v4.0.0-rc.3, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.1.0, v4.1.1, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.1, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.4.0, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8, v4.5.0, v4.5.1, v4.5.2, v4.5.3, v4.5.4, v4.5.5, v4.5.6, v4.5.7, v4.5.8, v4.6.0, v4.6.1, v4.6.2, v4.6.3, v4.6.4, v4.6.5, v4.7.0, v4.7.1, v4.7.2, v4.7.3

View affected-version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0"
        },
        {
          "fixed": "4.7.4"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "4.0.0",
    "4.0.0-rc.4",
    "v4.0.0-alpha.3",
    "v4.0.0-alpha.4",
    "v4.0.0-alpha.5",
    "v4.0.0-beta.1",
    "v4.0.0-beta.2",
    "v4.0.0-beta.3",
    "v4.0.0-beta.4",
    "v4.0.0-rc.1",
    "v4.0.0-rc.2",
    "v4.0.0-rc.2.1",
    "v4.0.0-rc.3",
    "v4.0.1",
    "v4.0.2",
    "v4.0.3",
    "v4.0.4",
    "v4.0.5",
    "v4.1.0",
    "v4.1.1",
    "v4.1.2",
    "v4.1.3",
    "v4.1.4",
    "v4.1.5",
    "v4.1.6",
    "v4.1.7",
    "v4.1.8",
    "v4.1.9",
    "v4.2.0",
    "v4.2.1",
    "v4.2.10",
    "v4.2.11",
    "v4.2.12",
    "v4.2.2",
    "v4.2.3",
    "v4.2.4",
    "v4.2.5",
    "v4.2.6",
    "v4.2.7",
    "v4.2.8",
    "v4.2.9",
    "v4.3.0",
    "v4.3.1",
    "v4.3.2",
    "v4.3.3",
    "v4.3.4",
    "v4.3.5",
    "v4.3.6",
    "v4.3.7",
    "v4.3.8",
    "v4.4.0",
    "v4.4.1",
    "v4.4.2",
    "v4.4.3",
    "v4.4.4",
    "v4.4.5",
    "v4.4.6",
    "v4.4.7",
    "v4.4.8",
    "v4.5.0",
    "v4.5.1",
    "v4.5.2",
    "v4.5.3",
    "v4.5.4",
    "v4.5.5",
    "v4.5.6",
    "v4.5.7",
    "v4.5.8",
    "v4.6.0",
    "v4.6.1",
    "v4.6.2",
    "v4.6.3",
    "v4.6.4",
    "v4.6.5",
    "v4.7.0",
    "v4.7.1",
    "v4.7.2",
    "v4.7.3"
  ]
}

References