Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
cve-2026-64638-banner-poc — Generates a self-submitting HTML trigger page that exploits a reflected HTML injection in WordPress login (CVE-2026-64638) to display a custom banner, for authorized security testing. | Kitploit
Tools/GitHubGitHub/xal6/cve-2026-64638-banner-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingRed Teaming
GitHubxal6/cve-2026-64638-banner-poc

cve-2026-64638-banner-poc

Generates a self-submitting HTML trigger page that exploits a reflected HTML injection in WordPress login (CVE-2026-64638) to display a custom banner, for authorized security testing.

View Repository
2 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-64638 — Universal Banner PoC

A single-file, dependency-free PoC generator for the WordPress CVE-2026-64638 reflected HTML-injection on wp-login.php (strip_tags() vs. KSES parser differential). It produces a self-submitting trigger page: when the victim opens the file, the page silently POSTs the injection payload and the victim lands directly on the target login page with a banner rendered — no interaction, no JavaScript on the target side.

For authorized security testing only. Use only against systems you own or are explicitly authorized to test.

Affected versions (verified empirically)

VersionsStatus
6.4.0 – 7.0.2Vulnerable — fires out of the box
5.8 – 6.3Conditional — requires a plugin passing login_errors through wp_kses() with style allowed
4.7 – 5.7Not exploitable (username is not reflected)
6.4.9 / 6.5.9 / 6.6.6 / 6.7.6+ / 6.8.7 / 6.9.6 / 7.0.3+Patched (esc_html)

Usage

root@kitploit:~
python3 banner_poc.py \
    --out trigger.html \
    --target http://192.0.2.10/wp-login.php \
    --msg "Scheduled System Maintenance"

# sub-directory + hidden login path + subtitle
python3 banner_poc.py \
    --out trigger.html \
    --target http://10.0.0.5:8080/blog/my-secret-login \
    --msg "Please sign in again" --sub "Session expired"

Host trigger.html anywhere. When the victim opens it, they are redirected to the target login page with the banner rendered. The hop is silent: no visible intermediate content, background matches the WordPress login screen, lands in ~0.5 s.

FlagDescription
--outOutput HTML file (required)
--targetFull login-page URL — sub-directory / hidden login paths included (required)
--msgBanner text (default: Scheduled System Maintenance)
--subOptional subtitle line

How it works

  1. wp-login.php reflects a failed-login username into the error message. Vulnerable versions sanitize it with PHP strip_tags(), which passes anything where < is followed by whitespace.
  2. The reflected text is later re-parsed by KSES, which rebuilds it into live HTML — so < div style="..."> arrives as a real element.
  3. < /strong> (slash preceded by a space) also survives strip_tags() and is rebuilt into a real closing tag, letting the payload close the template's <strong> (an HTML5 active formatting element) as its first token and keep exact DOM control.
  4. A trailing unclosed zero-size off-screen div swallows the template's tail text ("… is not registered on this site …").
  5. The banner uses class-free inline styles that survive safecss_filter_attr(). On 6.3+ / 6.4+ position:fixed renders a full-page overlay; on 5.8–6.2 those properties are stripped and the same payload self-degrades to an in-flow red banner.

Pure HTML/CSS — no JavaScript executes on the target. WAF rules targeting <script> or event handlers do not apply.

Disclaimer

This tool is published for defensive research and authorized penetration testing. The author is not responsible for misuse.

Download Tool