Skip to main content

WordPress CVE-2026-87902

| EUVDEUVD-2026-84555 HIGH
PHP Remote File Inclusion (CWE-98)
2026-09-22 hackerone
8.1
CVSS 3.1 · Vendor: hackerone
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send crafted unauthenticated request to WordPress
  2. Delivery
    Influence get_page_template() path resolution
  3. Exploit
    Include chosen local .php file outside theme dirs
  4. Execution
    Trigger PHP execution under server/theme preconditions
  5. Impact
    Achieve remote code execution

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V5 - File Handling File inclusion prevention, allowlisting
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Command and Control

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation targets WordPress core's get_page_template() page-template resolution and requires the attacker to influence which .php file is included so that a readable local file outside the active theme directories is loaded. Per the description, RCE only follows 'if relevant pre-conditions for both the server and the active theme are met' - i.e., it is gated on both server configuration and the active theme's behavior, which is why CVSS assigns AC:H despite PR:N/UI:N. Limiting factors: the attacker needs a suitable readable local .php file that produces code execution when included, and the specific (unstated) server + active-theme conditions must hold; on hardened or non-matching configurations the impact may degrade to local file inclusion / information disclosure rather than full RCE. No authentication or user interaction is required (PR:N, UI:N).

Impact

This is a WordPress core issue (per the WordPress/wordpress-develop GHSA-7hp8-65ch-5whp advisory), affecting the get_page_template() page-template resolution path. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H, score 8.1) reflects an unauthenticated network-reachable flaw with full CIA impact - consistent with the description's claim that it can escalate from local file inclusion (CWE-98) to RCE. The critical counterweight is AC:H, which aligns with the description's explicit gating: 'If relevant pre-conditions for both the server and the active theme are met.' No EPSS score, KEV listing, POC, or SSVC decision data was supplied, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The net picture is a high-severity-on-paper flaw whose real-world exploitability is materially constrained: an attacker must find a readable local .php file that is exploitable when included, and the target must run a server and active theme meeting unstated preconditions. Because WordPress is ubiquitous, even a low exploitation rate translates to a large absolute attack surface, so patching should be prioritized, but the AC:H gating argues this is more opportunistic/target-dependent than a mass-exploitation candidate. Missing signal: the exact server/theme preconditions and whether a reliable RCE gadget is publicly known - verify against the WordPress advisory before assuming trivial exploitability.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted request that influences page-template resolution in get_page_template(), coercing WordPress to include a chosen readable local .php file outside the active theme directories. On a server and active theme meeting the required preconditions, the included file executes attacker-influenced PHP, yielding remote code execution. No public exploit code is identified at time of analysis, and the AC:H rating indicates non-trivial preconditions must line up.

Act Now Prioritize within 24-48h. Why: In CISA KEV with patch available.
Exploited in the wild (CISA KEV) 3 public PoCs Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 22, 2026

Unauthenticated remote attackers can manipulate WordPress core's get_page_template() page-template resolution so that it includes a chosen, readable local .php file residing outside the active theme directories; where the required server and active-theme preconditions are both satisfied, that include escalates to remote code execution. The issue carries a CVSS 3.1 score of 8.1 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H), with the high attack complexity reflecting the need for a suitable readable PHP file and matching environment conditions rather than any authentication or user-interaction barrier. No public exploit code has been identified at time of analysis and the flaw is not listed in CISA KEV; on hardened or non-matching configurations the impact degrades to local file inclusion and information disclosure.

RemediationAI

Patch status for CVE-2026-87902 is not confirmed from the available data - no fixed version number is provided - so defensible guidance is to treat the WordPress core advisory GHSA-7hp8-65ch-5whp (https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp) as the authoritative source and upgrade WordPress core to the earliest release it identifies as patched, verifying the fix against that advisory rather than any version number inferred here. Where upgrading is not immediately possible, compensating controls should target the include sink and the set of locally readable .php files: restrict which page-template values can reach get_page_template() (for example by disabling or constraining front-end page-template selection behavior via theme code or a tightly scoped WAF rule matched to template-resolution parameters), and reduce the pool of includable files by enforcing PHP open_basedir so the process cannot read .php files outside the intended theme and webroot paths - noting that open_basedir frequently breaks plugins and themes that legitimately reach outside the webroot and must be validated in staging. Additionally, disable the built-in theme and plugin file editors via DISALLOW_FILE_EDIT so that any attacker-touched PHP content cannot be introduced through the admin surface, run PHP under a least-privilege account with no read access to unrelated application or backup files, and monitor template-resolution requests and PHP include errors for anomalous paths outside wp-content/themes. Each of these mitigations is a partial reduction of exploitability rather than a substitute for the vendor fix, because the underlying issue is in core template resolution and can only be fully closed by the patched release cited in the advisory.

Affected VersionsENISA

WordPress 0 <7.1.2

Affected Packages

euvd wordpress fix: 7.1.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability sits in WordPress core's page-template resolution logic, specifically the get_page_template() function, which maps a requested page to a template file. CWE-98 (Improper Control of Filename for Include/Require Statement in PHP Program) describes the root cause class: attacker-influenced input reaches a PHP include/require sink without adequate constraint of the resulting path. Here the attacker does not need to upload anything - they only need to steer template resolution toward an already-readable local .php file that lies outside the active theme directories, causing WordPress to include it as a template. Because the sink is a PHP include, any readable PHP file on the filesystem becomes a candidate payload, so the boundary between 'information disclosure / LFI' and 'RCE' is determined purely by what locally readable PHP content exists and by server and theme preconditions - which is why the vector assigns AC:H while remaining PR:N and UI:N. The CPE string cpe:2.3:a:wordpress:wordpress:*:*:*:*:*:*:*:* confirms this is WordPress core (not a plugin or theme) and does not constrain the affected version range in the supplied data.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (hackerone) PRIMARY 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ENISA EUVD HIGH
vuln.today AI 8.1 HIGH

Unauthenticated network request (AV:N/PR:N/UI:N) but exploitation depends on specific server and active-theme preconditions (AC:H); successful inclusion yields code execution with full CIA impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 8.1 HIGH

Primary rating from Vendor (hackerone).

CVSS VectorVendor: hackerone

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Added to CISA KEV
Sep 25, 2026 - 19:48 CISA
Patch available
Sep 22, 2026 - 18:02 EUVD
CVE Published
Sep 22, 2026 - 16:44 cve.org
HIGH 8.1

DescriptionCVE.org

An unauthenticated attacker can make get_page_template() page-template resolution include a chosen readable local .php file outside the active theme directories. If relevant pre-conditions for both the server and the active theme are met, this can lead to RCE.

Technical POC Analysis

Advisory: GHSA-7hp8-65ch-5whp (WordPress/wordpress-develop).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

3 public PoC links from exploitdb, nuclei

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

WordPress core is affected by a high-severity flaw (CVE-2026-87902) that lets an unauthenticated remote attacker abuse page-template resolution to load and execute an arbitrary readable PHP file, escalating to full remote code execution on sites that meet specific server and active-theme preconditions. Because WordPress typically sits on our public-facing web tier, a successful exploit could yield complete control of the hosting server, exposing customer data and enabling defacement or downstream lateral movement. Leadership should note that no vendor patch is currently available, so risk must be managed through configuration hardening and detection until a fix ships.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict PHP file access with open_basedir and a hardened PHP-FPM user/chroot; remove or relocate readable .php files outside theme directories (uploads, backups, cache, staging); disable inactive themes and file editing via DISALLOW_FILE_EDIT/DISALLOW_FILE_MODS; deploy WAF or reverse-proxy rules blocking traversal and attacker-controlled template parameters (virtual patching); enforce least-privilege filesystem permissions; and enable monitoring/alerting on unexpected include and template-resolution paths. Unauthenticated remote exploitation is possible (CVSS PR:N) but requires high attack complexity and specific server/active-theme preconditions; no public exploit identified at time of analysis. Where controls cannot be applied, consider taking the instance offline until a vendor patch is released.

Threat Model

7 threats: Elevation of Privilege, Information Disclosure, Tampering and 3 more

5-step attack chain with trust boundaries and controls

Full threat model - attack chain, trust boundaries, controls per stage and evidence - is part of the Pro and Business plans.

Threat Intelligence Overview

Threat Score
4.6/10
Composite threat intelligence
EPSS Score
0.4%
Top 64% exploitable
Prevalence
Ubiquitous
WordPress core powers a large fraction of all websites worldwide
EUVD KEV
Listed
EU Exploited Vulnerability
Threat Intel
3
1 sources
Social Media
251
Sightings
Data Quality
11 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org CISA KEV EPSS Vulnrichment NCSC-NL NEWS POC (1) Vendor CIRCL 251 sightings Exploit-DB GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV Yes
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat Yes
Deciding rule
In CISA KEV with patch available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

115
Low Medium High Critical
KEV: +50
EPSS: 0
CVSS: +40
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: +5

Attack Technique

Local File Inclusion vulnerabilities occur when an application accepts user-controlled input to specify which file should be loaded or executed, typically through functions like PHP's `include()`, `require()`, or `fopen()`.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy