☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Patchstack logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:L 🐛 CWE-89
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-65569

CVE-2026-65569 SQL Injection in WP Job Portal
📅 PUBLISHED: 2026-08-06 00:00 UTC 🔄 UPDATED: 2026-10-11 17:46 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.36%
👁️
0.36% probability
8.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: India License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: N Integrity None
A: L Availability Low
8.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-65569 is a high-severity SQL injection vulnerability residing in the WP Job Portal WordPress plugin, affecting all versions up to and including 2.5.6. An authenticated attacker with Subscriber-level privileges can exploit this flaw to inject arbitrary SQL queries into the application's database, leading to unauthorized data exfiltration and potential database corruption. The vulnerability is remotely exploitable without user interaction, has a high integrity impact due to the broad attack surface of SQL injection, and currently has no publicly available patch or vendor fix, exposing enterprise WordPress deployments to significant risk.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The core of CVE-2026-65569 lies in an unsanitized SQL query within the WP Job Portal plugin's backend request handling. Specifically, the plugin fails to properly escape user-supplied input passed through a crafted HTTP request before concatenating it into a SQL statement. This occurs within a function that processes AJAX or form-based requests for job listings or portal management, accessible to any registered user—including those with the default Subscriber role.

Mechanism: The affected parameter is likely a numeric ID or a string value (e.g., job_id, candidate_id, or a search term) that is directly interpolated into a SQL query without using prepared statements or parameterized queries. For instance, a typical vulnerable code pattern would be:

$job_id = $_POST['job_id'];
$query = "SELECT * FROM wp_job_portal_jobs WHERE id = " . $job_id;
$results = $wpdb->get_results($query);

Attack Surface: The attack surface is broad because the vulnerable endpoint is part of the plugin's standard authenticated functionality. Any user who can log into the WordPress instance (Subscriber is the default lowest role) can trigger it. In a multi-tenant or open-registration environment, this effectively lowers the authentication barrier to near-zero, precluding the need for higher-privileged credentials.

Impact: SQL injection of this nature allows an attacker to:

  • Extract data (CIA impact: High confidentiality) — dump all database tables, including wp_users (usernames, hashed passwords), wp_options (site settings, API keys), and wp_posts (private content).
  • Modify data (High integrity) — insert malicious admin users, alter site content, or inject backdoor PHP code via the database.
  • Potentially gain RCE — if the database user has FILE and SELECT privileges, the attacker can write a webshell to the web root via INTO OUTFILE, leading to full server compromise.

The vulnerability is classified under CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) . The CVSS vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:L) indicates a network-accessible, low-complexity attack requiring low privileges, with a high confidentiality impact and low availability impact. The S:C (Changed scope) signifies the compromise extends beyond the plugin itself to the entire underlying database and potentially the hosting environment.

Exploitation Scenarios

An attacker leverages the Subscriber-level access to execute crafted SQL payloads. The step-by-step chain is as follows:

  1. Reconnaissance & Target Identification:

    • Attacker scans the internet for WordPress sites. They use search engines or Shodan for fingerprints like wp-content/plugins/wp-job-portal/ in the HTML source or via plugin enumeration tools (e.g., wpscan --enumerate vp).
    • They confirm the plugin version by reading the main plugin file header (often accessible via ?p=plugin or via the readme.txt file: /wp-content/plugins/wp-job-portal/readme.txt).
    • They register a new account on the target site (if registration is open) or compromise an existing Subscriber account via phishing.
  2. Trigger & Weaponization:

    • The attacker identifies the vulnerable endpoint by sending a benign POST request to the plugin's AJAX handler (e.g., admin-ajax.php?action=wp_job_portal_search).
    • They then craft a malicious request injecting a classic SQLi payload into a parameter. Example request:
      POST /wp-admin/admin-ajax.php HTTP/1.1
      Host: target.com
      Content-Type: application/x-www-form-urlencoded
      Cookie: wordpress_logged_in_...=<session>
      
      action=wp_job_portal_search&job_id=1 UNION SELECT user_login,user_pass,user_email,user_status FROM wp_users--
      
    • Because the application directly concatenates the job_id value, the UNION SELECT clause gets appended to the original query, returning sensitive database columns in the response.
  3. Payload Execution & Data Exfiltration:

    • The attacker iterates over the results to dump the wp_users table. They use SQL functions to extract rows in bulk, e.g., GROUP_CONCAT(user_login,0x3a,user_pass).
    • To escalate privileges, they inject a query to insert a new admin user:
      job_id=1; INSERT INTO wp_users (user_login, user_pass, user_email, user_status, user_registered) VALUES ('attacker', '$P$Bhashedpass', 'attacker@evil.com', 0, NOW()); INSERT INTO wp_usermeta (user_id, meta_key, meta_value) VALUES (LAST_INSERT_ID(), 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');--
      
    • This requires the database user to have INSERT privileges, which is standard for WordPress databases.
  4. Post-Exploitation Impact:

    • With admin access, the attacker uploads a malicious plugin or theme, achieving Remote Code Execution (RCE).
    • They install a webshell (e.g., a PHP backdoor) to maintain persistent access.
    • They use the compromised server as a hop point for lateral movement into the internal network, pivot attacks, or to send phishing emails leveraging the trusted domain.

Impact Assessment

  • Business Impact: This flaw results in a complete loss of confidentiality for the WordPress database. Exposure of user credentials (hashing algorithms are often weak or unsalted, facilitating offline cracking) can lead to account takeovers not just on the WordPress site but also on any other services where users reuse passwords. Integrity loss enables website defacement, malware distribution to site visitors, and the planting of SEO spam. The low availability impact suggests that while direct DoS is not the primary vector, an attacker could still corrupt or wipe tables, causing significant downtime.
  • Affected Systems: All WordPress installations running WP Job Portal <= 2.5.6. This plugin is specifically designed for job boards and recruitment sites, placing its user base in HR and staffing sectors—industries that handle sensitive personal data (PII) making them prime targets for data theft.
  • Blast Radius: The CVSS scope change (S:C) indicates the vulnerability's impact extends beyond the vulnerable application. A successful exploit can compromise the entire database server and, if file-write privileges exist, the underlying operating system. In shared hosting environments, this can lead to the compromise of co-tenant websites, resulting in a widespread supply-chain style incident.

Detection Guidance

Sigma Rule

title: SQL Injection Attempt in WP Job Portal
id: 6c8f5d8e-aaaa-4b2e-9f7c-3f3d9b25c001
status: experimental
description: Detects SQL injection patterns targeting wp-admin/admin-ajax.php actions for WP Job Portal.
references:
    - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-65569
author: Valtersit Threat Intel
logsource:
    category: webserver
    product: apache
    definition: 'Requires access logs or web server logs with raw request URI and query strings.'
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains:
            - 'admin-ajax.php'
        cs-uri-query|contains|all:
            - 'action='
            - 'job_portal'
    payload:
        cs-uri-query|contains:
            - 'union select'
            - 'union%20select'
            - 'sleep('
            - 'benchmark('
            - "'; insert"
            - "';update"
            - "';delete"
    condition: selection and payload
level: high
falsepositives:
    - Legitimate penetration testing activities.
    - Rare, admin-level development actions (though parameterized queries should block these).

YARA Rule

rule CVE_2026_65569_WP_Job_Portal_SQLi
{
    meta:
        author = "Valtersit Threat Intel"
        description = "Detects HTTP payloads attempting SQL injection via WP Job Portal endpoints."
        reference = "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-65569"
        date = "2026-01-01"
        score = 80
    strings:
        $param1 = "action=wp_job_portal_search" ascii wide nocase
        $param2 = "action=wp_job_portal_apply" ascii wide nocase
        $param3 = "job_id=" ascii wide nocase
        $sqli1 = "union select" ascii wide nocase
        $sqli2 = "union%20select" ascii wide nocase
        $sqli3 = "information_schema" ascii wide nocase
        $sqli4 = "sleep(" ascii wide nocase
        $sqli5 = "benchmark(" ascii wide nocase
        $sqli6 = "0x3a" ascii wide nocase
    condition:
        filesize < 5KB and
        (1 of ($param*)) and
        (1 of ($sqli*))
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"CVE-2026-65569 Attempted SQL Injection in WP Job Portal"; flow:established,to_server; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=wp_job_portal"; http_uri; content:"!"; pcre:"/union\s+select|sleep\s*\(|benchmark\s*\(|into\s+outfile|\x27--/Ui"; classtype:web-application-attack; sid:10065569; rev:1;)

Elastic Detection

sequence by source.ip
  [network where event.category == "web" and http.request.method == "POST" and url.path == "/wp-admin/admin-ajax.php" and url.query contains "action=wp_job_portal" and url.query contains "union select" or url.query contains "sleep(" or url.query contains "benchmark("]
  [network where event.category == "web" and http.response.status_code == 200 and http.response.body contains "wp_users" or http.response.body contains "user_pass"]

Splunk SPL Query

index=web sourcetype=access_combined_w3c
| rex field=uri "action=(?<action>[^&]+)"
| rex field=uri "job_id=(?<payload>[^&]+)"
| where action LIKE "%job_portal%"
| where [inputlookup cve_2026_65569_sqli_patterns.csv | table pattern]
| eval exploit_attempt = if(match(payload, "(?i)union\s+select|sleep\s*\(|benchmark\s*\(|into\s+outfile|information_schema"), "true", "false")
| search exploit_attempt = "true"
| table _time, src_ip, uri, payload, status
| sort - _time

Wazuh OSSEC Rule

<group name="web_attacks,">
    <rule id="893148" level="12" frequency="5" timeframe="60">
        <if_sid>31151</if_sid>
        <match>action=wp_job_portal</match>
        <regex type="pcre2">(union\s+select|sleep\s*\(|benchmark\s*\(|into\s+outfile|information_schema)</regex>
        <description>CVE-2026-65569: Attempted SQL injection via WP Job Portal plugin.</description>
        <group>wp_job_portal,</group>
        <mitre>
            <id>T1190</id>
        </mitre>
    </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED. No patch evidence exists from any tracked source as of this report's writing. The vendor has not released a fixed version, and there are no official workarounds documented.

Immediate Mitigations:

  1. Disable the plugin if it is not business-critical. If job board functionality is essential, temporarily replace it with an alternative plugin that uses parameterized queries.
  2. Restrict Subscriber registration — Disable open user registration (Settings > General > Membership) to prevent unauthenticated attackers from easily obtaining a Subscriber account.
  3. Deploy a WAF rule — Configure ModSecurity or your commercial WAF to block requests containing SQL injection patterns (e.g., union select, sleep() specifically for the admin-ajax.php endpoint.

Patch/Upgrade Steps:

  1. Monitor the WordPress plugin repository and the vendor's site for a publishing of version 2.5.7 (or later).
  2. As soon as a patched version is available, test in a staging environment, then apply.
  3. If a patch is never released, plan to migrate away from the plugin entirely.

Long-Term Hardening:

  • Enforce the principle of least privilege for the WordPress database user. Ensure the DB user used by WordPress does not have FILE or SUPER privileges to prevent INTO OUTFILE exploitation.
  • Implement web application firewall rules as a standard practice.
  • Regularly audit WordPress plugins for SQL injection vulnerabilities using static analysis tools.
  • Enable two-factor authentication for all admin users.
  • Segment web servers from internal networks to limit blast radius in case of RCE.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-65569
  2. CWE-89 Reference: https://cwe.mitre.org/data/definitions/89.html — Improper Neutralization of Special Elements used in an SQL Command.
  3. WordPress Plugin Repository: https://wordpress.org/plugins/wp-job-portal/ — Monitor for version updates and security announcements.
  4. WPScan Vulnerability Database: (Search "WP Job Portal" upon publication) — https://wpscan.com/
  5. OWASP SQL Injection Prevention Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

Exploit-in-the-Wild Evidence: No public exploit code or PoC has been verified at the time of writing. The CVE is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog. However, due to the low exploitation bar, we assess a high probability of weaponization in the near future.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.component:"WordPress" http.html:"wp-content/plugins/wp-job-portal/"
http.title:"Job Portal" http.html:"wp-job-portal"
http.component:"WordPress" http.html:"/wp-job-portal/" port:"80,443"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-65569/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.