PHP2Shell: How Hacked PHP Sites Send Phishing That Passes DMARC
PHP2Shell (CVE-2026-109618, CVE-2026-109619) turns trusted websites into phishing senders that pass SPF, DKIM and DMARC. See our data and how to defend.

The web server is not the prize. The prize is everything the internet already trusts about it.
On October 21, PHP shipped emergency fixes for PHP2Shell, two critical flaws in PHP core. One crafted HTTP request, no login, and an attacker runs code on the server before WordPress, Drupal or Roundcube even load. Most of the coverage so far is about patching web servers. That is the right first move.
But I have spent my career fighting phishing and abuse, first on Safe Browsing and reCAPTCHA at Google and now at AegisAI, and I can tell you where this one ends up. It ends up in your inbox. Here is why, what our data already shows, and what to do about it this week.
Key takeaways
- PHP2Shell is unauthenticated remote code execution. CVE-2026-109618 and CVE-2026-109619 (CVSS v4.0 9.2) affect PHP 8.5 and older, and researchers trace the flaws back to PHP 5.4. One multipart HTTP request is enough, and it fires before any application code runs.
- The email risk is trust transfer. A compromised PHP host inherits its domain's SPF authorization, often its DKIM key, its TLS certificate, and its sender and URL reputation.
- Attackers were already moving there. In our Q3 2026 data, AI Dragnet phishing sent from compromised senders rose 38x in one quarter (0.2% to 7.7%). Its evasion of provider filters rose from 22.2% to 30.6%, and DMARC pass on evaded AI Dragnet mail rose from 61.9% to 73.2%.
- Compromised WordPress sites are already in the kill chain. One campaign we track staged redirects under /wp-includes/ paths on a likely compromised 2005-era domain and reached nearly a quarter of protected organizations in 88 minutes.
- The supply of hijackable infrastructure is about to grow. About 48% of PHP websites run versions that no longer get PHP security updates (Socket).
- SPF, DKIM, DMARC and reputation cannot stop this. Defenders need to investigate what each message is trying to do before delivery, not just who sent it.
What we found
PHP2Shell is a web vulnerability with an email blast radius. The two flaws sit beneath about 70% of websites with a known server-side language (W3Techs), and nearly half of PHP websites run versions that no longer get security updates.
We connected PHP2Shell to telemetry from our Q3 2026 State of the AI Attack report, drawn from more than 100 million emails across over 1 million protected mailboxes. That data shows AI Dragnet campaigns, the high-volume, single-template class of AI-written phishing, moving from throwaway lookalike domains to compromised, legitimate infrastructure. That shift happened in the quarter before PHP2Shell was disclosed.
Below, I walk through three paths from a PHP2Shell foothold to the inbox: the trusted sender, the trusted link host and the webmail foothold. I show why SPF, DKIM, DMARC and reputation filtering pass all three, and I share detections at the web, mail-server and message level.
Our assessment is simple. PHP2Shell is a supply shock for exactly the infrastructure AI Dragnet operators had already started to buy.
1. Why a PHP vulnerability is an email security problem
The most dangerous email attacks rarely start in email. They start with the infrastructure email trusts.
Attackers do not want a small business's web server for its data. They want its reputation: years of clean domain history, a valid TLS certificate, search ranking, an SPF record that already authorizes the host, and a sending record mailbox providers recognize. Island's analysis of PHP2Shell makes the same point. A compromised site already has that trust, while a newly registered domain has to earn it (Island).
Our Q3 2026 data shows this is no longer a theory. In a single quarter, AI Dragnet went from the phishing class most reliably caught on sender reputation alone to the class least caught that way, because operators moved into compromised, legitimate senders.
We call this trust hijacking. Impersonation pretends to be the trusted sender. Trust hijacking is the trusted sender.
PHP2Shell lands on top of that trend. PHP runs 69.3% of websites with a known server-side language, and about 48% of PHP sites run a version the PHP project no longer supports (Island). Patching and web-layer detection matter, and most coverage rightly focuses there. This post follows the access downstream, into the inbox.
2. PHP2Shell technical breakdown (CVE-2026-109618 and CVE-2026-109619)
PHP2Shell is a pair of memory-safety flaws in PHP's request-startup path. Together they give unauthenticated remote code execution from a single crafted multipart/form-data request. Both are rated CVSS v4.0 9.2.
Root cause
CVE-2026-109618 (out-of-memory corruption). PHP's fatal-error path unwinds with longjmp(). When an out-of-memory condition fires mid-request, request memory is left partially initialized, and cleanup treats invalid data as valid (PHP advisory).
CVE-2026-109619 (stale global state). The same longjmp() unwinding can leave global pointers referencing freed memory, which later requests on the same worker may read or act on (PHP advisory).
How the exploit works
Calif's public chain triggers the out-of-memory condition with hundreds of empty file-upload fields. That exhausts PHP's default 128 MB memory_limit inside a request smaller than PHP's default 8 MB post_max_size (Island, PHP manual). PHP's advisory lists upload-progress tracking as the exposure for CVE-2026-109619, and PHP's interim mitigation for it is session.upload_progress.enabled=0. PHP rates the risk highest for mod_php (PHP advisory).
Here is the part email defenders need to hear. The bug fires during request parsing, before WordPress, Drupal, Magento, Laravel or Roundcube code runs. A fully patched CMS or webmail application on unpatched PHP is still exploitable (Island).
Affected and fixed versions
| PHP branch | Status | Fix |
|---|---|---|
| 8.5 | Supported | 8.5.12 |
| 8.4 | Supported | 8.4.27 |
| 8.3 | Supported | 8.3.36 |
| 8.2 | Security-only, end of life Dec 31, 2026 | 8.2.35 |
| 7.4 to 8.1 | End of life | Source backports only, no official release |
| 5.4 to 7.3 | End of life | None |
Sources: The Hacker News. About 2.24 million internet-facing hosts advertise PHP (Shodan, CybelAngel). About 48% of PHP websites run versions that no longer get PHP security updates (Socket).
Exploitation timeline
| Date (2026) | Event |
|---|---|
| Oct 20 | Details leak and PHP announces an emergency release (Tanium) |
| Oct 21 | PHP ships fixes at about 14:00 UTC (Tanium) |
| Oct 21 | watchTowr reports exploitation attempts on its honeypots (Tanium) |
As of October 21, reliable public exploits were still scarce and most telemetry showed probing rather than confirmed compromise (Tanium). As of October 26, neither CVE is in CISA's Known Exploited Vulnerabilities catalog (CISA). That window is closing.
3. What our Dragnet data shows: AI phishing had already moved onto compromised infrastructure
Our Q3 2026 data shows the cheapest class of AI phishing leaving disposable domains for hijacked, legitimate senders. That is exactly the asset PHP2Shell mass-produces.
To be clear about timing: the window is July 1 to September 2, 2026, before PHP2Shell was disclosed. None of this activity is attributed to PHP2Shell. It is the demand side of the market PHP2Shell now supplies.
AI Dragnet is our category for one AI-written template sent to as many organizations as possible, often within minutes. We classify it by fan-out: the same message or template reused across many organizations. Its share of all confirmed phishing grew 11.6x in one quarter, from 0.5% to 5.8% (see What Is AI Dragnet Phishing?).
The trust-hijacking shift in numbers
| AI Dragnet measure | Q2 2026 | Q3 2026 | Change |
|---|---|---|---|
| Sent from likely-compromised senders | 0.2% | 7.7% | 38x; Q2 upper CI bound was 1.1% |
| Evasion rate (passed the provider's own filter) | 22.2% | 30.6% | +8.4 pt; Q2 upper CI bound was 26.0% |
| DMARC pass rate among evaded mail | 61.9% | 73.2% | +11.3 pt |
| Share of all confirmed phishing | 0.5% | 5.8% | 11.6x |
Source: AegisAI Q3 2026 State of the AI Attack report. Q3 covers Jul 1 to Sep 2 (64 days); Q2 covers 91 days.
AI Dragnet's 7.7% sender-compromise rate is now the highest of the three attack types, ahead of human-written phishing (5.4%) and AI Spearphishing (4.4%). Average evasion across all three types converged on 29%, with a 2.1-point spread, down from 14.7 points in Q2. Roughly three in ten confirmed phishing messages of every type now get past the recipient's email provider entirely.
Fewer lookalikes, more real domains
Self-registered phishing domains leave fingerprints: hyphens, digits, length and stacked subdomains. AI Dragnet's sending domains score cleaner than human-written phishing on every one. That fits a shift to established, compromised domains.
| Sending-domain feature | Human-written | AI Dragnet |
|---|---|---|
| Contains a hyphen | 8.1% | 7.3% |
| Contains a digit | 3.5% | 2.9% |
| Average length (characters) | 19.2 | 16.3 |
| Average subdomains before the registered domain | 0.103 | 0.057 |
AI Dragnet also runs on a small, stable pool rather than burn-after-use domains. 53.8% of its 926 unique sending domains were seen two or more times, and those repeat domains carried 91.6% of its volume. Its sends spike at Monday 11:00 UTC, with 5.5% of quarterly volume in one hour and the lowest weekend share (7.8%). That is the signature of scripted sending.
Campaigns already using compromised web infrastructure
AEGIS-IS-CAPTCHATHEBILL-005 (WordPress path staging). A fake document-portal notice reached nearly a quarter of protected organizations in 88 minutes. Its first-hop redirector, kompactsystems[.]com, registered in 2005 and fronted by Cloudflare, shows signs of compromise and served the lure from /wp-includes/sitemaps/. A second, purpose-registered first hop (caseforge-law[.]com) copied the same pattern with /wp-includes/theme-compat/. Both chained to a final landing page gated by Cloudflare Turnstile. MITRE maps this to T1584.004, Compromise Infrastructure: Server. It is a comparable path, seen before PHP2Shell existed.
AEGIS-IS-REDTIDE-002 (compromised small-business landing host). A Google Calendar invite worm sent from hijacked Google Workspace accounts reached 73% of tracked organizations and turned a victim into the next sender in under 19 minutes. Among 60+ rotating landing hosts was accounts.tlcproroofings[.]com, a compromised small-business site serving a fake human-verification slider in front of a spoofed Google sign-in.
AEGIS-IS-FAKESERVICE-003 (aged-domain reputation). A ServiceNow invoice wire-fraud persona reached over half of protected organizations. It was DKIM-signed through aged domains such as rbtrees[.]com (registered 2004, reputation 100/100) and linksderisar[.]com (registered 2012, reputation 92/100), and sent via Amazon SES. This is trust hijacking one layer down: borrowed domain reputation instead of a hijacked inbox.
The lures did not change this quarter. Google Workspace was the most impersonated brand in every attack type (33.0% of AI Dragnet volume), and invoice fraud (19.4%) and thread hijacking (17.7%) led AI Dragnet's pretexts. What changed was the account and the infrastructure behind the lure.
4. The PHP2Shell email attack chain: three paths to the inbox
A PHP2Shell foothold gives an attacker three routes into email, and each one borrows trust the attacker did not earn. Public PHP2Shell reporting so far centers on web intrusions. The email paths below are our analysis, grounded in the Q3 campaigns above.
One unpatched PHP server becomes three ways into the inbox
| Stage | Detail |
|---|---|
| Unpatched PHP server | Nearly half of PHP sites get no PHP security updates |
| PHP2Shell foothold | One HTTP request, before app code runs |
| Trusted sender | Phishing through the domain's own mail path; SPF, DKIM and DMARC all pass |
| Trusted link host | Credential pages on a real domain with a valid certificate, gated behind fake CAPTCHAs |
| Webmail foothold | PHP webmail exposes mailboxes, contacts and live threads for reply-chain hijacking |
| Your users' inbox | Authentic, reputable and malicious |
All three paths end the same way: a message that is authentic, reputable and malicious.
Path 1: The trusted sender (authenticated outbound phishing)
The attacker's code runs as the web-server user, which on most PHP hosts already has an approved route to send mail as the domain.
- Local mail server via mail(). PHP's mail() hands messages to the local mail server through sendmail_path. If the web host's IP is in the domain's SPF record, and on shared hosting stacks such as cPanel/Exim the mail server DKIM-signs for hosted domains, the attacker's mail is SPF-pass, DKIM-pass and DMARC-aligned.
- Stolen relay credentials. WordPress SMTP plugins and custom apps store relay credentials for Microsoft 365, Google Workspace, Amazon SES or SendGrid in wp-config.php, .env files or the wp_options table, all readable by the PHP process. With them, the attacker sends through the organization's real email provider, with that provider's DKIM signature and IP reputation.
- Who gets hit. The most valuable sending domains belong to small and mid-sized suppliers, law firms and municipalities: the vendors whose invoices your accounts payable team already expects. That is AI Dragnet's invoice-fraud pretext (19.4% of its volume), delivered from a real vendor domain.
Path 2: The trusted link host (phishing pages and redirectors)
Compromised sites already host phishing pages, fake updates, scam redirects and ClickFix lures. In the Ghost CMS campaign in May 2026, XLab counted more than 700 poisoned sites, and one operator's lists held close to 2,000 hacked domains (Island). Our Q3 campaigns show the pattern PHP2Shell will scale:
- Path camouflage. Payloads and redirectors sit under core CMS paths (/wp-includes/sitemaps/, /wp-includes/theme-compat/) that look like platform files to a URL classifier (CAPTCHATHEBILL).
- Scanner-aware gating. A fake human-verification slider or Cloudflare Turnstile blocks crawlers, or a non-victim is quietly redirected to a harmless, real software marketplace page, while targeted people reach the credential form (CAPTCHATHEBILL, REDTIDE, FILLTHEBILL).
- Per-recipient links. AEGIS-IS-FILLTHEBILL-004 embedded each recipient's address in an smn= URL parameter, routed through MailChannels' legitimate click tracking. The body stayed byte-identical while every link was unique. It reached 18% of tracked organizations in three minutes.
A credential page on a decade-old small-business domain with a valid certificate looks nothing like the throwaway .icu domains most URL filters are tuned to catch.
Path 3: The webmail foothold (mailbox access and thread hijacking)
Roundcube, Horde and SquirrelMail are PHP applications, and so are many hosting control panels that manage mailboxes. Because PHP2Shell runs before application code, a fully patched Roundcube on unpatched PHP is exposed. Code execution on a webmail host typically gives the attacker:
- Live credentials. Roundcube encrypts each logged-in user's IMAP password into the session using the des_key in config.inc.php. With the config file and the session store, active users' mailbox passwords can be recovered, and a malicious plugin can capture every future login.
- Mailbox contents and contacts. Read access to the IMAP backend exposes real threads, invoices and relationship maps.
- Thread hijacking at scale. Replies inserted into real conversations are already the top lure for AI Spearphishing (20.3% of volume) and human-written phishing (17.5%) in our Q3 data. Webmail compromise supplies the threads (more in how OSINT and threads build AI spearphishing lures).
Follow-on speed is measured in minutes. REDTIDE turned a credential victim into its next sender in under 19 minutes.
5. Why SPF, DKIM, DMARC and reputation filtering miss PHP2Shell phishing
Every layer of a secure email gateway asks some version of one question: do we trust where this came from? Trust-hijacked mail is built to answer yes, and our Q3 data measures the result.
| Control | What it checks | Why compromised PHP infrastructure passes |
|---|---|---|
| SPF | The sending IP is authorized for the envelope domain | The web host or the stolen relay is already in the SPF record |
| DKIM | The message was signed by a key for the d= domain | The host's mail server or the real email provider signs it |
| DMARC | SPF or DKIM passes and aligns with the From domain | It does; 73.2% of evaded AI Dragnet mail passed DMARC in Q3 |
| Sender reputation | The domain and IP have a clean history | Years of legitimate mail; AI Dragnet compromise rose to 7.7% |
| URL reputation and sandboxing | The link domain is clean and the page is harmless | Aged domain, valid TLS, CMS-like path; the CAPTCHA gate shows scanners nothing |
| Content and similarity models | The text looks like known phishing | AI rewrites every lure; per-recipient URLs defeat clustering |
| Behavioral anomaly | The sender behaves like its baseline | A supplier you hear from twice a year has almost no baseline |
The content layer is weakening too. In Q3, AI-generated phishing read as more personal and ran longer than human-written phishing, and both gaps widened. The old "short, generic, impersonal" rule of thumb is now backwards. AI Dragnet scored highest of the three types for personal-sounding language, even though by definition it is untargeted. (We covered the DMARC side in depth in Why DMARC-Passing Emails Can Still Be Phishing.)
So here is the common failure. Every check gives a signal, and every signal is green. Stopping these attacks means investigating what the message is actually trying to do: where the link goes after the gate, whether the sending path changed, and whether the request fits the real relationship. That takes evidence, not probability.
6. Detection and threat hunting for PHP2Shell-driven email abuse
Hunt at three layers: the PHP host, the mail path it can reach, and the inbound mail it produces. The examples below are starting points. Tune them to your stack before you alert on them.
Layer 1: Exploitation and post-exploitation on PHP hosts
- Request inspection (WAF, reverse proxy, or NGFW with body inspection): multipart/form-data POSTs carrying a PHP_SESSION_UPLOAD_PROGRESS field alongside an unusual number of empty file parts. Treat source IPs as leads, not blocks.
- Process lineage: php-fpm, apache2 or httpd workers spawning sh, bash, curl, wget, or binaries from /tmp.
- File integrity: new or modified PHP files since October 20, when the details leaked, especially under core CMS paths that should change only on upgrade.
# New PHP files under the web root since the details leaked (Oct 20, 2026)
find /var/www /home/*/public_html -type f -name '*.php' -newermt '2026-10-20' \
-not -path '*/cache/*' -printf '%TY-%Tm-%Td %TH:%TM %u %p\n' | sort
# Non-asset content planted under WordPress core paths (CAPTCHATHEBILL pattern)
find /var/www /home/*/public_html -path '*/wp-includes/*' -type f \
\( -name '*.html' -o -name '*.htm' -o -name 'index.php' \) -newermt '2026-10-20'Layer 2: Mail sent from the web tier
- Attribute every mail() call. Set mail.add_x_header = On so PHP stamps an X-PHP-Originating-Script header with the UID and script filename on every message it hands to the mail server.
- Watch web-user submissions in mail server logs. On Postfix, the pickup daemon logs the submitting UID. On cPanel/Exim, local submissions log the script's working directory.
- Alert on egress. Flag TCP 25, 465 and 587 from web servers that are not designated mail senders, and spikes in provider-side sending from stored relay credentials (Microsoft 365 SMTP AUTH sign-ins, Amazon SES and SendGrid send metrics).
# Postfix: messages submitted locally by the web-server user (uid 33 = www-data on Debian/Ubuntu)
grep -E 'postfix/pickup\[[0-9]+\]: [A-F0-9]+: uid=33 ' /var/log/mail.log | awk '{print $1, $2, $3}' | uniq -c
# cPanel/Exim: mail generated by scripts in user web roots, ranked by directory
grep -oE 'cwd=/home/[^ ]+/public_html[^ ]*' /var/log/exim_mainlog | sort | uniq -c | sort -rn | headLayer 3: Inbound mail from someone else's compromised PHP host
This is where most organizations are exposed, because they do not control the sender. These signals survive a clean SPF, DKIM and DMARC result:
- Sending-path drift. A known vendor domain suddenly signs with a different DKIM selector (a hosting panel's default selector instead of its usual email provider), or its Received: chain moves to a shared-hosting mail server.
- CMS-path links. URLs under /wp-includes/, /wp-content/uploads/ or /wp-admin/ that return an HTML page or a redirect instead of a static file.
- Gated landing pages. A human-verification slider or Turnstile challenge in front of a sign-in form on a domain that has no reason to run one, or a crawler that sees a harmless decoy while a real browser does not.
- Per-recipient tokens. The recipient's own address embedded in a URL parameter (plain or encoded) on an otherwise byte-identical message.
- Pretext versus relationship. Payment-detail changes, invoice chases or credential prompts from a vendor domain whose real history with the recipient does not support the request.
No single signal is a verdict. Each one decides the next check. That is why this layer has to be an investigation, not a score.
7. MITRE ATT&CK mapping
| Stage | Technique | Where it appears |
|---|---|---|
| Initial access to the PHP host | T1190 Exploit Public-Facing Application | PHP2Shell RCE via crafted multipart request |
| Persistence on the PHP host | T1505.003 Server Software Component: Web Shell | Web-shell reconnaissance |
| Infrastructure acquisition | T1584.004 Compromise Infrastructure: Server | CAPTCHATHEBILL redirector on a likely compromised 2005 domain |
| Infrastructure acquisition | T1583.001 Acquire Infrastructure: Domains | Purpose-registered first hops and landing domains (CAPTCHATHEBILL, FILLTHEBILL) |
| Sender acquisition | T1586.002 Compromise Accounts: Email Accounts | REDTIDE hijacked Workspace senders; webmail credential theft (Path 3) |
| Delivery | T1566.002 Phishing: Spearphishing Link | Gated credential pages on trusted domains (Path 2) |
| Defense evasion | T1078 Valid Accounts | Authenticated sending from real accounts and relays (Path 1) |
| Pretext | T1656 Impersonation | Google Workspace and ServiceNow lures |
| Collection | T1114 Email Collection | Mailbox access from compromised webmail hosts (Path 3) |
| Execution | T1204.001 User Execution: Malicious Link | Recipient completes the credential form behind the gate |
8. What security teams should do now
Patching covers your own servers. Your inbox is exposed to everyone else's.
Harden your own PHP estate and sending domains
- Upgrade to PHP 8.2.35, 8.3.36, 8.4.27 or 8.5.12 and restart every worker. PHP's own advisory says there are no complete mitigations; updating is the only safe choice (PHP advisory).
- Where you cannot patch today, apply PHP's interim settings, including session.upload_progress.enabled=0, memory_limit=-1 set at pool level, and request-size limits at the proxy (PHP advisory).
- Inventory every PHP host that can send as your domain: marketing sites, contact forms, legacy apps, agency-hosted microsites. Remove hosts from SPF that do not need to send, and move web-tier mail to a dedicated subdomain with its own DMARC policy.
- Rotate every SMTP credential and email-provider API key stored on PHP hosts, then review provider audit logs back to October 20.
- Treat any unpatched PHP-based webmail or mail admin panel as compromised: rotate the Roundcube des_key, invalidate sessions and reset mailbox passwords.
Defend your inbox against everyone else's compromised servers
- For the next two quarters, treat authenticated mail from small and mid-sized partners as neutral, not safe. Good reputation is not evidence.
- Require out-of-band verification for payment changes, new banking details and credential prompts, including replies inside existing threads.
- Re-test your email controls against a malicious link on a reputable, aged domain, under a CMS path, behind a CAPTCHA gate. If your link analysis stops at the gate, it is blind to this attack.
- Watch accounts, not just messages: new sign-in locations, new mailbox rules, sudden outbound bursts, and calendar invites sent to many external recipients.
- Brief finance, procurement and executive assistants on vendor-themed lures arriving from real vendor domains. Typo-spotting no longer works; AI does not make spelling mistakes. The rule is simpler: pause on any request to sign in, pay or share, and check it another way.
Frequently asked questions
What is PHP2Shell?
PHP2Shell is the name for CVE-2026-109618 and CVE-2026-109619, two critical memory-safety flaws in PHP core that allow unauthenticated remote code execution from a single crafted HTTP request. Both are rated CVSS v4.0 9.2 and were patched on October 21, 2026.
Which PHP versions are affected by PHP2Shell?
PHP 8.5 and older are affected, and researchers trace the flaws back to 5.4. Fixed releases are 8.2.35, 8.3.36, 8.4.27 and 8.5.12. PHP 7.4 through 8.1 have source backports only, and PHP 5.4 through 7.3 have no fix.
Is PHP2Shell being exploited in the wild?
Exploitation attempts have been reported. watchTowr saw attempts on its honeypots on October 21, 2026, the day the fixes shipped. As of October 26, 2026, neither CVE is in CISA's Known Exploited Vulnerabilities catalog.
How does PHP2Shell affect email security?
A compromised PHP server can send phishing that passes SPF, DKIM and DMARC, host credential-harvesting pages on a trusted domain, and expose PHP-based webmail such as Roundcube. AegisAI's Q3 2026 data shows AI phishing campaigns were already shifting to this kind of compromised infrastructure before PHP2Shell was disclosed.
Will DMARC stop phishing from PHP2Shell-compromised domains?
No. DMARC confirms a message came from the domain it claims, and mail sent from a compromised host or with stolen relay credentials does. In AegisAI's Q3 2026 data, 73.2% of AI Dragnet phishing that evaded provider filters passed DMARC.
What is an AI Dragnet attack?
AI Dragnet is AegisAI's term for one AI-written phishing template sent to as many organizations as possible, often within minutes. Its share of confirmed phishing grew from 0.5% to 5.8% in Q3 2026, and its rate of sending from compromised accounts rose from 0.2% to 7.7%.
What is trust hijacking in email security?
Trust hijacking is sending phishing from a real, legitimate account or domain an attacker has taken over, instead of from infrastructure they created. Impersonation pretends to be a trusted sender. Trust hijacking is the trusted sender.
PHP2Shell is a supply shock for trust hijacking
PHP2Shell will be remembered as a web vulnerability. Its longest tail will be in email.
Before PHP2Shell was disclosed, the cheapest AI phishing had already learned to send from compromised senders and stage on compromised WordPress sites. Doing that lifted its evasion rate by 8.4 points in one quarter. PHP2Shell now puts a large pool of new trusted domains on the table, about 2.24 million internet-facing hosts advertise PHP, and many of them will not be patched.
This is the class of attack we built AegisAI for. When the domain is real, authentication passes and reputation is clean, a probability score has nothing left to measure. Proteus, the foundation model from the AegisAI Lab trained on email, investigates each message inline before delivery. It follows the link past the gate, checks the sending path against history, and tests the request against the real relationship. On a benchmark of 3,020 unseen attacks, it identified more than 99%, against 81.3% for the leading general-purpose model.
Proof. Not probability.
Want to see how your current stack handles phishing from a compromised but legitimate domain? Talk to the AegisAI team, and we will show you what is in your inbox right now.
References
- AegisAI, Q3 2026 State of the AI Attack Report, 2026. Based on more than 100 million emails across over 1 million protected mailboxes; statistics cover Jul 1 to Sep 2, 2026. https://www.aegisai.com/state-of-ai-attacks-q3-2026
- CybelAngel, "Critical PHP RCE vulnerabilities: CVE-2026-109618 and CVE-2026-109619", Oct. 2026. https://cybelangel.com/blog/critical-php-rce-vulnerabilities-cve-2026-109618-and-cve-2026-109619/
- Island, "PHP2Shell turns nearly half of the web into exploitation infrastructure", Oct. 2026. https://www.island.io/blog/php2shell-turns-nearly-half-of-the-web-into-exploitation-infrastructure
- PHP project, "Security advisory: Critical remote code execution vulnerabilities, update now", Oct. 21, 2026. https://www.php.net/index.php#2026-10-21-5
- The PHP Group, PHP manual, "Description of core php.ini directives". https://www.php.net/manual/en/ini.core.php
- Socket, "PHP Patches Critical RCE Vulnerabilities, Organizations Urged to Take Unpatched Sites Offline", Oct. 2026. https://socket.dev/blog/php-critical-rce-patches
- Tanium, "PHP2Shell: responding to CVE-2026-109618 and CVE-2026-109619", Oct. 2026. https://www.tanium.com/blog/php2shell-responding-to-cve-2026-109618-and-cve-2026-109619
- The Hacker News, "PHP issues emergency patches for two critical PHP2Shell RCE flaws as exploit attempts emerge", Oct. 2026.
- W3Techs, "Usage statistics of PHP". https://w3techs.com/technologies/details/pl-php
- CISA, "Known Exploited Vulnerabilities Catalog", checked Oct. 26, 2026. https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Related posts
More from the AegisAI blog.
