Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
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.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-93300 — Python proof-of-concept for CVE-2026-93300, an unauthenticated SQL injection in the EventON Subscriber WordPress plugin; fingerprints the AJAX handler and extracts database data via time-based oracles. | Kitploit
Tools/GitHubGitHub/datxzzz/cve-2026-93300
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationData ExfiltrationWeb SecurityPenetration Testing
GitHubdatxzzz/cve-2026-93300

CVE-2026-93300

Python proof-of-concept for CVE-2026-93300, an unauthenticated SQL injection in the EventON Subscriber WordPress plugin; fingerprints the AJAX handler and extracts database data via time-based oracles.

View Repository
15 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-93300 — EventON - Subscriber ≤ 1.4.5 Unauthenticated SQLi (PoC)

Python proof-of-concept for CVE-2026-93300: unauthenticated SQL injection via the email parameter in the EventON - Subscriber WordPress plugin (Wordfence, CVSS 7.5 High).

CVECVE-2026-93300
PluginEventON - Subscriber (eventon-subscriber)
Affectedall versions ≤ 1.4.5
Fixed versionnone published (as of 2026-10)
VectorPOST /wp-admin/admin-ajax.php, action=evosub_new_subscriber, param email
Authnone (unauthenticated)
CWECWE-89 SQL Injection

Advisory: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/eventon-subscriber/eventon-subscriber-145-unauthenticated-sql-injection-via-email-parameter

Vulnerability

The subscription-form AJAX handler (evosub_new_subscriber, registered with wp_ajax_nopriv_, reachable from the public front-end form in assets/evosub_script.js) builds an existing SQL query using the user-supplied email value without $wpdb->prepare() / proper escaping. The value reaches the query unescaped, so an attacker can break out of the string literal and append/modify the query to read arbitrary data from the database.

The client-side email regex in evosub_script.js is the only format check in the browser; it provides no server-side protection.

Requirements

  • Python 3.8+ (stdlib only, no pip packages)
  • A target you are authorized to test

Usage

# 1. Detect only (fingerprint handler, find working injection oracle)
python3 cve_2026_93300.py --url https://target.example --mode check

# 2. Dump wp_users (login / email / password hash)
python3 cve_2026_93300.py --url https://target.example --mode users --prefix wp_

# 3. Extract any scalar query result
python3 cve_2026_93300.py --url https://target.example --mode sql \
    --sql "SELECT option_value FROM wp_options WHERE option_name='admin_email'"

Common options

OptionDefaultDescription
--modecheckcheck / users / sql
--actionevosub_new_subscriberAJAX action to test
--paramemailinjected parameter
--prefixwp_WordPress table prefix
--sql—scalar SELECT for --mode sql
--delay2.0SLEEP() seconds for time-based oracle
--timeout25HTTP timeout
--max-id15highest user ID to scan
--proxy / --insecure / --ua—HTTP proxy / skip TLS verify / custom UA

How it works

  1. Fingerprint — compares action=evosub_new_subscriber against an unregistered action (0 / HTTP 400) to confirm the handler is present and alive.
  2. Detection, in order of preference:
    • error probes (', ", \) → if SQL errors are reflected (WP_DEBUG), an error-based oracle is used (fastest, single request per bit);
    • UNION column-count brute force with SLEEP() → union-time oracle (one evaluation per probe, no per-row slowdown);
    • stacked-query probe (;SELECT SLEEP(...)) → stacked-time oracle if the driver allows multi-statements;
    • time templates (OR/AND/paren/concat SLEEP) → template-time oracle fallback.
  3. Oracle self-test — every oracle must answer 1=1 → true and 1=0 → false (repeated) before extraction begins, which filters out false positives from slow/unstable targets.
  4. Extraction — binary search over LENGTH() and ASCII(SUBSTRING(...)) (7 requests per character).

--mode check finishes with a sanity extraction of user_login@USER() to prove data access.

Notes & limitations

  • Detection may create a few poc*@example.invalid entries in the evo-subscriber post type; they are visible under Events → All Subscribers and can be trashed.
  • If the handler validates email server-side with a strict filter, all probes behave identically and the tool reports not vulnerable / input validated.
  • Targets with broken admin-ajax.php (fatal on baseline) are reported as unhealthy and aborted.
  • Non-SELECT query shapes (INSERT/UPDATE context) are detected but may have no working time oracle.
  • Keep --delay ≥ 1.0 on real targets; very small delays produce false negatives on high-latency links.

Defensive guidance

  • Update/replace the plugin; no fixed version has been published — deactivate it if the subscription form is not business-critical.
  • Treat email (and all request input) with $wpdb->prepare() / esc_sql(); validate with is_email() server-side.
  • WAF: block unauthenticated admin-ajax.php requests whose email value contains SQL metacharacters (', ", \, --, ;, UNION).

References

  • Wordfence advisory (link above) — discovery credit: Austin Ginder
  • Rapid7: https://www.rapid7.com/db/vulnerabilities/cve-2026-93300/
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-93300

Disclaimer

For authorized security testing and educational purposes only. Unauthorized access to computer systems is illegal. You are responsible for complying with all applicable laws.

Download Tool