HIGHvulnerability·

CVE-2026-109619: PHP Stale Internal Request-State RCE Vulnerability

CVE-2026-109619 is a high-severity vulnerability in PHP that allows unauthenticated remote code execution due to improper handling of global state and request memory. This flaw affects multiple PHP versions and products, including Palo Alto Networks PAN-OS, and is actively exploited by various threat actors, including DPRK-linked groups and ransomware gangs, often leveraging `PHP2Shell` exploitation.

This report was researched and drafted by an AI agent and reviewed by a human analyst prior to publication. View the agent workflow →
Indicators of Compromise(21)
↓ Download STIX
IP103.216.220.92
IP31.223.184.166
IP37.19.200.5
IP134.209.159.64
IP103.114.163.188
IP95.217.98.37
IP92.118.112.100
IP85.11.167.243
IP45.198.224.169
IP109.71.252.97
IP221.14.159.134
IP91.90.123.25
SHA2560c5486f06620e26e316f4b33f318b0d646d5e1133789331aa2fed012360d1486
SHA25643898a0a53bbd25d31ad9f5018ed3182be98a66109b22c9cab545a9fc447992a
SHA2567bc41ed79a9ae909927a9e40701736460a8cb70fca16ce1510e58677aca764b6
SHA256150ae88f0999032e2a6113501d6082f54a3ed98d02427b21a96e773a27d7bf16
SHA25640caf199ca1ebe056a74427f8e9db06c66899e33ae09c0ec2769ec70bf6dd8e7
SHA25627d926a6708d6769d97d065e7a5a860ab496eab272c03d1cebc55ec71b954fa2
SHA2561485e14e0f62bc94664eec341cabd275dad7d30b1d496c40ec340c9a0d9f0ba8
URLhttps://fedi.katze.sh/@elise/117479383739450605
URLhttps://fedi.katze.sh/@elise/117478655339557825

Overview

CVE-2026-109619 is a high-severity vulnerability in PHP that enables unauthenticated remote code execution. The flaw stems from stale internal request-state, allowing attackers to manipulate freed memory. This vulnerability affects a wide range of PHP versions and products, including critical network devices, and is being actively exploited by threat actors, including state-sponsored groups and ransomware operators, often in conjunction with PHP2Shell exploitation.

Technical Analysis

  • Vulnerability: CVE-2026-109619 is a stale internal request-state vulnerability in PHP.
  • Mechanism: PHP contains various global state variables that temporarily point to request memory. In certain scenarios, this global state may not be correctly reset or may be repopulated after being reset, leading to it referring to freed request memory. Subsequent requests can then read or branch on this stale state before it is fully initialized.
  • Impact: Multiple strategies can trigger this condition, leading to unauthenticated remote code execution (RCE).
  • CVSS v3.1: 8.1 (HIGH) – CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.
  • Weaknesses: CWE-416 (Use After Free), CWE-755 (Improper Handling of Exceptional Conditions), CWE-824 (Access of Uninitialized Pointer), CWE-1325 (Unchecked Return Value to NULL Pointer Dereference).
  • Affected Versions:
    • PHP php versions >= 5.4.0 < 8.2.35
    • PHP php versions >= 8.3.0 < 8.3.36
    • PHP php versions >= 8.4.0 < 8.4.27
    • PHP php versions >= 8.5.0 < 8.5.12
    • Siemens ruggedcom_ape1808_firmware
    • Palo Alto Networks pan-os versions >= 10.2.0 < 10.2.7
    • Palo Alto Networks pan-os version 10.2.7
    • Palo Alto Networks pan-os version 10.2.8
    • Palo Alto Networks pan-os version 10.2.9
    • Palo Alto Networks pan-os version 10.2.10
  • Attack Vector: Network-based (AV:N), unauthenticated (PR:N), requiring no user interaction (UI:N). The attack complexity is high (AC:H).

Detection

  • Monitor web server access logs for unusual requests to PHP files, especially those with suspicious parameters, encoded commands, or patterns indicative of PHP2Shell exploitation. Look for unexpected HTTP methods or large POST bodies to unusual endpoints.
  • Detect unexpected process spawns originating from web server processes (e.g., php-fpm.exe, httpd.exe, nginx.exe, apache2, php-fpm) or their child processes. Look for cmd.exe, powershell.exe, sh, bash, python, perl, nc, wget, curl, or other command-line utilities.
  • Monitor for the creation of suspicious files (e.g., .php, .txt, .log files containing web shell code) in web-accessible directories (/var/www/html, htdocs, wwwroot). Look for files containing common web shell keywords like eval(, system(, passthru(, shell_exec(, base64_decode(, $_GET[, $_POST[, or PHP2Shell specific strings.
  • Analyze network flow logs for outbound connections initiated by web server processes to unusual or external IP addresses/domains, indicative of C2 communication or data exfiltration.
  • Review PHP error logs for unexpected errors or warnings that might indicate exploitation attempts or memory corruption.

Sigma Detection Rules

⚠️ AI-generated detection rules. These are experimental starting points. Review field names, EventIDs, and logic against your environment’s schema before deploying. Tune to reduce false positives.

Web Server Process Spawning Suspicious Shell

title: Web Server Process Spawning Suspicious Shell
id: 90c7e2b1-d3f4-4a8e-a2c3-f0e2b1d3f4a8
status: experimental
description: Detects suspicious process creation by common web server processes, indicative of RCE exploitation of CVE-2026-109619.
logsource:
  product: windows
  service: sysmon
detection:
  selection_parent:
    ParentImage|endswith:
      - '\\httpd.exe'
      - '\\nginx.exe'
      - '\\php-fpm.exe'
  selection_child:
    Image|endswith:
      - '\\cmd.exe'
      - '\\powershell.exe'
      - '\\sh.exe'
      - '\\bash.exe'
      - '\\python.exe'
      - '\\perl.exe'
      - '\\nc.exe'
      - '\\wget.exe'
      - '\\curl.exe'
  condition: all of selection_*
level: critical

Suspicious PHP File Creation in Web Root

title: Suspicious PHP File Creation in Web Root
id: 4f1c7e2b-d3f4-4a8e-a2c3-f0e2b1d3f4a8
status: experimental
description: Detects creation of new PHP files in web-accessible directories by web server processes, potentially indicating webshell deployment (e.g., PHP2Shell) after CVE-2026-109619 exploitation.
logsource:
  product: windows
  service: sysmon
detection:
  selection:
    EventID: 11
    Image|endswith:
      - '\\httpd.exe'
      - '\\nginx.exe'
      - '\\php-fpm.exe'
    TargetFilename|endswith:
      - '.php'
      - '.phtml'
      - '.php5'
    TargetFilename|contains:
      - '\\inetpub\\wwwroot\\'
      - '\\Apache24\\htdocs\\'
      - '\\nginx\\html\\'
      - '\\www\\html\\'
  condition: selection
level: high

Web Access Log – Generic PHP RCE Attempt

title: Web Access Log - Generic PHP RCE Attempt
id: 7e2b1d3f-4a8e-a2c3-f0e2b1d3f4a8
status: experimental
description: Detects common patterns in web access logs indicative of PHP RCE attempts, potentially targeting CVE-2026-109619. This rule may produce false positives and requires tuning.
logsource:
  category: webserver
  service: apache
detection:
  selection:
    cs-uri-query|contains:
      - 'cmd='
      - 'exec='
      - 'system='
      - 'passthru='
      - 'shell_exec='
      - 'eval='
      - 'base64_decode='
      - 'id%20'
      - 'whoami%20'
      - 'cat%20/etc/passwd'
      - 'wget%20'
      - 'curl%20'
    cs-uri-stem|endswith:
      - '.php'
      - '.phtml'
      - '.php5'
  condition: selection
level: medium

Mitigations

  1. Patch PHP: Upgrade PHP installations to the latest patched versions: 8.2.35, 8.3.36, 8.4.27, 8.5.12, or newer, as soon as possible.
  2. Patch Affected Products: Apply vendor-specific patches for Siemens ruggedcom_ape1808_firmware and Palo Alto Networks pan-os to versions that address CVE-2026-109619.
  3. Implement Web Application Firewall (WAF): Deploy and configure a WAF to detect and block exploitation attempts targeting PHP vulnerabilities, including known PHP2Shell patterns and generic RCE payloads.
  4. Least Privilege: Ensure PHP processes and web servers run with the minimum necessary privileges to limit the impact of successful exploitation.
  5. Network Segmentation: Isolate web servers running PHP applications from critical internal networks to contain potential breaches.
  6. Regular Audits: Conduct regular security audits and penetration tests of PHP applications and underlying infrastructure to identify and remediate vulnerabilities.

References

  • https://nvd.nist.gov/vuln/detail/CVE-2026-109619
  • https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
  • http://www.openwall.com/lists/oss-security/2026/10/21/16
  • https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/
  • https://hunt.io/blog/php2shell-cve-2026-109618-109619-open-directories
  • https://aws.amazon.com/blogs/security/amazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot/
  • https://www.vulncheck.com/blog/php2shell-vulnerabilities
  • https://socradar.io/blog/inc-gentlemen-ransomware-ai-infrastructure

Indicators of Compromise

Type Value Description
SHA256 0c5486f06620e26e316f4b33f318b0d646d5e1133789331aa2fed012360d1486 PHP2Shell second-stage ELF x86-64 binary hash (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
SHA256 1485e14e0f62bc94664eec341cabd275dad7d30b1d496c40ec340c9a0d9f0ba8 Hash of follow-up POST request body (via https://www.vulncheck.com/blog/php2shell-vulnerabilities)
SHA256 150ae88f0999032e2a6113501d6082f54a3ed98d02427b21a96e773a27d7bf16 Hash of uploaded file part ‘a’ (via https://www.vulncheck.com/blog/php2shell-vulnerabilities)
SHA256 27d926a6708d6769d97d065e7a5a860ab496eab272c03d1cebc55ec71b954fa2 Hash of uploaded file part ‘b’ (via https://www.vulncheck.com/blog/php2shell-vulnerabilities)
SHA256 40caf199ca1ebe056a74427f8e9db06c66899e33ae09c0ec2769ec70bf6dd8e7 Hash of uploaded file part ‘a’ (via https://www.vulncheck.com/blog/php2shell-vulnerabilities)
SHA256 43898a0a53bbd25d31ad9f5018ed3182be98a66109b22c9cab545a9fc447992a PHP2Shell scanner/OOM-tool HTTP request body hash (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
SHA256 7bc41ed79a9ae909927a9e40701736460a8cb70fca16ce1510e58677aca764b6 PHP2Shell scanner/OOM-tool HTTP request body hash (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 103.114.163.188 PHP2Shell-associated anonymisation network IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 103.216.220.92 PHP2Shell-associated anonymisation network IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 109.71.252.97 PHP2Shell scanner/exploitation IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 134.209.159.64 PHP2Shell-associated anonymisation network IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 221.14.159.134 Exploitation attempt IP for CVE-2026-109618 (via https://www.vulncheck.com/blog/php2shell-vulnerabilities)
IP Address 31.223.184.166 PHP2Shell-associated anonymisation network IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 37.19.200.5 PHP2Shell-associated anonymisation network IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 45.198.224.169 PHP2Shell scanner/exploitation IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 85.11.167.243 PHP2Shell scanner/exploitation IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 91.90.123.25 Verification IP for CVE-2026-109618 (via https://www.vulncheck.com/blog/php2shell-vulnerabilities)
IP Address 92.118.112.100 PHP2Shell second-stage payload staging host IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
IP Address 95.217.98.37 PHP2Shell-associated anonymisation network IP (via https://www.cyfirma.com/research/cyfirma-threat-advisory-suspected-dprk-campaign-staging-php2shell-targeting-against-glocal-php-infrastructure/)
URL https://fedi.katze.sh/@elise/117478655339557825 Fediverse post discussing a different PHP vulnerability (via http://www.openwall.com/lists/oss-security/2026/10/21/17)
URL https://fedi.katze.sh/@elise/117479383739450605 Fediverse post reporting incomplete PHP fix (via http://www.openwall.com/lists/oss-security/2026/10/21/17)

MITRE ATT&CK

🤖 AI Attribution
Generated by gemini-2.5-flash ·
2,763 input / 2,653 output tokens ·
Reviewed and approved by a human analyst before publication
#vulnerability#high#php#rce#vulnerability#web#webshell