CVE-2026-48062 Elastic Security · Elastic

Detect CVE-2026-48062: CodeIgniter4 File Upload Extension Validation Bypass (ext_in Rule) in Elastic Security

CVE-2026-48062 affects CodeIgniter4 framework versions prior to 4.7.2. The `ext_in` validation rule fails to properly validate file extensions during upload, allowing attackers to bypass extension restrictions and upload arbitrary files including web shells or malicious executables. This unrestricted file upload vulnerability (CWE-434) has a CVSS score of 9.8 and a public proof-of-concept. Successful exploitation can lead to remote code execution on the hosting server.

MITRE ATT&CK

Tactic
Initial Access Execution Persistence

Elastic Detection Query

Elastic Security (Elastic)
eql
sequence by host.name with maxspan=5m
  [file where event.action in ("creation", "overwrite") and
   file.path : ("*/uploads/*", "*/writable/*", "*/public/*", "*/tmp/*") and
   file.extension in ("php", "phtml", "php5", "php7", "phar", "shtml", "pht")]
  [process where event.action == "start" and
   process.parent.executable : ("*/apache2", "*/nginx", "*/php-fpm", "*/httpd") and
   process.name in ("php", "bash", "sh", "python", "python3", "perl", "curl", "wget")]
critical severity high confidence

EQL sequence detection correlating suspicious script file creation in upload directories with subsequent process execution by web server processes, indicating a web shell uploaded via the CodeIgniter4 ext_in bypass.

Data Sources

Elastic Endpoint SecurityFilebeatAuditbeat

Required Tables

logs-endpoint.events.file-*logs-endpoint.events.process-*

False Positives & Tuning

  • PHP-FPM spawning legitimate maintenance scripts after legitimate file deployments
  • Cron jobs executed by web server user accounts for scheduled tasks
  • Legitimate application processes invoked by web frameworks during normal operation
  • Automated testing frameworks that create and execute scripts in upload paths

Other platforms for CVE-2026-48062


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Simulate CodeIgniter4 ext_in Bypass via Crafted Multipart Upload

    Expected signal: HTTP POST to upload endpoint with Content-Type image/jpeg but .php file extension; file creation event in upload directory for a .php file; web server process as the initiating process for the file write

  2. Test 2Web Shell Execution Verification After Upload

    Expected signal: HTTP GET requests to PHP file path in upload directory; process tree showing web server (apache2/nginx/php-fpm) spawning shell or system binaries (id, whoami, uname); network connections to external IP if reverse shell payload used

  3. Test 3Filesystem Reconnaissance via Uploaded Web Shell

    Expected signal: Process events for cat, ls, find spawned by php-fpm or apache2 with web server UID; file read events on /etc/passwd and .env files initiated by web server process; auditd SYSCALL records for execve by www-data user

Unlock Pro Content

Get the full detection package for CVE-2026-48062 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections