CVE-2024-10105

5.9 MEDIUM

📋 TL;DR

The Job Postings WordPress plugin before version 2.7.11 contains a stored cross-site scripting (XSS) vulnerability in plugin settings. This allows authenticated users with contributor-level privileges or higher to inject malicious scripts that execute when other users view affected pages. The vulnerability is particularly concerning in WordPress multisite installations where unfiltered_html capabilities are restricted.

💻 Affected Systems

Products:
  • Job Postings WordPress Plugin
Versions: All versions before 2.7.11
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin. Multisite installations with restricted unfiltered_html capabilities are specifically mentioned as vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with contributor access could inject malicious JavaScript that steals administrator session cookies, redirects users to phishing sites, or performs actions on behalf of authenticated users, potentially leading to complete site compromise.

🟠

Likely Case

Malicious contributors could inject advertising scripts, deface content, or steal user session data from visitors viewing job postings or plugin settings pages.

🟢

If Mitigated

With proper user role management and content security policies, impact is limited to potential content defacement within the plugin's interface.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires contributor-level access or higher. The vulnerability is publicly documented with technical details available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.7.11

Vendor Advisory: https://wpscan.com/vulnerability/4477db12-26e9-4c6d-8b71-f3f6a0d19813/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Job Postings' plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 2.7.11+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched

wp plugin deactivate job-postings

Restrict User Roles

all

Temporarily remove contributor and author roles from untrusted users

wp user remove-role <username> contributor
wp user remove-role <username> author

🧯 If You Can't Patch

  • Implement Content Security Policy (CSP) headers to restrict script execution
  • Use WordPress security plugins that filter malicious input at the application level

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin under Plugins → Installed Plugins. If version is below 2.7.11, system is vulnerable.

Check Version:

wp plugin get job-postings --field=version

Verify Fix Applied:

Verify plugin version is 2.7.11 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to job posting settings endpoints
  • JavaScript payloads in plugin setting updates

Network Indicators:

  • External script loads from job posting pages
  • Suspicious outbound connections from admin users viewing plugin settings

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin.php?page=job-postings" OR plugin_name="job-postings") AND (http_method="POST" OR contains(message, "<script>"))

🔗 References

📤 Share & Export