Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-87902 — Proof-of-concept and disclosure pack for CVE-2026-87902, an unauthenticated local file inclusion in WordPress Core via locate_template(), with a loopback lab and patch guidance. | Kitploit
Herramientas/GitHubGitHub/abraxas/cve-2026-87902
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration TestingLabs & Practice
GitHubabraxas/cve-2026-87902

CVE-2026-87902

Proof-of-concept and disclosure pack for CVE-2026-87902, an unauthenticated local file inclusion in WordPress Core via locate_template(), with a loopback lab and patch guidance.

Ver Repositorio
35933hace 10 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Contenido no disponible en el idioma solicitado. Mostrando versión en inglés.

Abraxas Labs - CVE-2026-87902

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  CVE-2026-87902

CVE-2026-87902

WordPress Core 7.1.1 - WordPress

I am @abraxas_null. Loopback lab. The client is CVE-2026-87902-Abraxas-Labs.py.

Unauthenticated LFI via locate_template(). get_page_template() builds page-{$pagename}.php from urldecoded pagename. locate_template() concatenates onto the theme directory without a jail. Classic theme with a top-level page-* directory (page-templates). 7.1.2 adds _wp_is_template_path_allowed() and validate_file on the decoded pagename. Backported through 4.7.37.

CVECVE-2026-87902 · CVE.org
CWECWE-98
CVSSCritical: 9.2 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
ProductWordPress Core
Affectedall versions through 7.1.1 (inclusive)
Patched7.1.2 and later
Authunauthenticated
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 only

What an attacker can do

GET a published page with double-encoded pagename walking out of the theme into a readable local .php. That file is included in the front-end response. Lab oracle is a witness PHP under uploads that also prints wp_version. Direct GET of the uploads file is not the bug (no wp_version). Not pearcmd.


How I found it

I mapped template.php get_page_template + locate_template on 7.1.1, then a classic theme with page-templates, then a readable uploads PHP.

Control GET /?page_id=N must not contain the witness. Attack GET with double-encoded pagename must contain GHSA7HP8-WITNESS and wp_version=7.1.1.

Fail-controls already in the lab: witness only on a direct GET of the uploads PHP (wp_version=none); reverse shell; pearcmd.php gadget.


The lab

Port 18092. WordPress 7.1.1. Classic theme with page-templates. lab/witness.php planted under uploads. ./run.sh.

  • lab/Dockerfile
  • lab/docker-compose.yml
  • lab/lab-theme/
  • lab/run.sh
  • lab/witness.php

Target only 127.0.0.1:18092 (or the loopback you bound).

cd lab
docker compose up --force-recreate
python3 ../CVE-2026-87902-Abraxas-Labs.py

Witness: Unauthenticated 200 body contains GHSA7HP8-WITNESS and wp_version=7.1.1. Control GET /?page_id=N does not.

Ways to lose without learning anything:

  • witness only on a direct GET of the uploads PHP (wp_version=none)
  • reverse shell
  • pearcmd.php gadget

The fix

Update WordPress to 7.1.2 or newer. Re-run CVE-2026-87902-Abraxas-Labs.py against the patched build: the page response must not include the uploads PHP.


References

  • CVE-2026-87902 · NVD

  • CVE-2026-87902 · CVE.org

  • github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp

  • www.wordfence.com/threat-intel/vulnerabilities/wordpress-core/wordpress-core-711-unauthenticated-local-file-inclusion-via-locate-template-path-traversal

  • www.cve.org/CVERecord?id=CVE-2026-87902

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


License

GNU Affero GPL v3.0. See LICENSE.


The client talks to loopback. Using it against systems you do not own is not authorized by Abraxas Labs. No warranty.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

Descargar herramienta