SB2026070756 - Multiple vulnerabilities in CodeIgniter4



SB2026070756 - Multiple vulnerabilities in CodeIgniter4

Published: July 7, 2026

Security Bulletin ID SB2026070756
CSH Severity
High
Patch available
YES
Number of vulnerabilities 4
Exploitation vector Remote access
Highest impact Code execution

Breakdown by Severity

High 50% Medium 50%
  • Low
  • Medium
  • High
  • Critical

Description

This security bulletin contains information about 4 vulnerabilities.


1) Arbitrary file upload (CVE-ID: N/A)

CWE-ID: CWE-434 - Unrestricted Upload of File with Dangerous Type

CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/U:Amber


The vulnerability allows a remote attacker to execute arbitrary code.

The vulnerability exists due to unrestricted upload of file with dangerous type in the `is_image` and `mime_in` file upload validation rules when validating uploaded files. A remote attacker can upload a crafted file with a dangerous extension to execute arbitrary code.

Applications are impacted when uploaded files are saved using the client-supplied filename and placed in a web-accessible directory where PHP files can execute.


2) Use of Less Trusted Source (CVE-ID: N/A)

CWE-ID: CWE-348 - Use of Less Trusted Source

CVSSv4: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:U/U:Green


The vulnerability allows a remote attacker to bypass HTTPS-only security checks.

The vulnerability exists due to use of less trusted source in IncomingRequest::isSecure() when handling client-supplied forwarded HTTPS headers. A remote attacker can send a request with spoofed X-Forwarded-Proto or Front-End-Https headers to bypass HTTPS-only security checks.

Exploitation depends on deployment configuration and is more likely when the backend is directly reachable over HTTP or when a reverse proxy forwards client-supplied forwarding headers without stripping or overwriting them.


3) SQL injection (CVE-ID: N/A)

CWE-ID: CWE-89 - Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/U:Amber


The vulnerability allows a remote attacker to execute arbitrary SQL commands.

The vulnerability exists due to SQL injection in the Query Builder deleteBatch() method when using where() conditions. A remote attacker can supply crafted input to where() before deleteBatch() is called to execute arbitrary SQL commands.

This affects only the deleteBatch() code path; regular delete() operations escape where() binds correctly.


4) Path traversal (CVE-ID: N/A)

CWE-ID: CWE-22 - Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U/U:Green


The vulnerability allows a remote attacker to overwrite files outside the intended upload directory.

The vulnerability exists due to path traversal in UploadedFile::move() when using the client-provided filename by default while handling file uploads without a second filename argument. A remote attacker can supply a crafted filename containing path traversal sequences to overwrite files outside the intended upload directory.

The issue occurs only when UploadedFile::move() is called without a second argument, and the impact depends on the destination path and server configuration.


Remediation

Install update from vendor's website.