CVE-2025-1310

6.5 MEDIUM

📋 TL;DR

The Jobs for WordPress plugin contains a directory traversal vulnerability that allows authenticated users with Subscriber-level access or higher to read arbitrary files on the server. This can expose sensitive information like configuration files, credentials, or other private data. All WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • Jobs for WordPress plugin
Versions: All versions up to and including 2.7.11
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled and at least one authenticated user with Subscriber role or higher.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers obtain database credentials, SSH keys, or other sensitive system files leading to complete server compromise and data exfiltration.

🟠

Likely Case

Attackers read WordPress configuration files (wp-config.php) containing database credentials, potentially leading to database access and site takeover.

🟢

If Mitigated

Attackers can only read non-sensitive files due to proper file permissions and directory restrictions.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is trivial once authenticated. Public proof-of-concept code is available in the references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.7.12 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3257145%40job-postings&new=3257145%40job-postings&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Jobs for WordPress' and click 'Update Now'. 4. Verify version is 2.7.12 or higher.

🔧 Temporary Workarounds

Disable vulnerable endpoint via .htaccess

all

Block access to the vulnerable file retrieval endpoint

# Add to .htaccess in WordPress root directory
<Files "class-job-get-uploaded-file.php">
    Order Allow,Deny
    Deny from all
</Files>

Remove plugin temporarily

all

Deactivate and delete the plugin until patched

# Via WordPress admin: Plugins → Installed Plugins → Deactivate → Delete

🧯 If You Can't Patch

  • Restrict user registration and review existing Subscriber accounts for suspicious activity
  • Implement web application firewall rules to block directory traversal patterns in requests

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Jobs for WordPress' version 2.7.11 or lower

Check Version:

wp plugin list --name="Jobs for WordPress" --field=version

Verify Fix Applied:

Verify plugin version is 2.7.12 or higher in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests containing 'job_postings_get_file' parameter with '../' sequences
  • Multiple file read attempts from single user session

Network Indicators:

  • Unusual file read patterns from authenticated users
  • Requests to plugin endpoints with path traversal payloads

SIEM Query:

source="web_logs" AND uri="*class-job-get-uploaded-file.php*" AND (param="*../*" OR param="*..\\*" OR param="*%2e%2e%2f*")

🔗 References

📤 Share & Export