CVE-2024-13773

7.3 HIGH

📋 TL;DR

The Civi WordPress theme contains hard-coded LinkedIn API credentials in all versions up to 2.1.4, allowing unauthenticated attackers to extract sensitive authentication keys. This affects all WordPress sites using the vulnerable Civi theme versions.

💻 Affected Systems

Products:
  • Civi - Job Board & Freelance Marketplace WordPress Theme
Versions: All versions up to and including 2.1.4
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with vulnerable theme versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain access to LinkedIn API credentials, potentially compromising associated LinkedIn accounts, harvesting user data, or performing unauthorized API operations.

🟠

Likely Case

Attackers extract LinkedIn client and secret keys, enabling them to make unauthorized API calls or potentially access LinkedIn account data.

🟢

If Mitigated

With proper network segmentation and API key monitoring, impact is limited to credential rotation and minor data exposure.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires accessing the vulnerable file directly via HTTP request.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 2.1.4

Vendor Advisory: https://www.wordfence.com/threat-intel/vulnerabilities/id/e3499182-7501-4fec-a7c6-b66ae47533cd

Restart Required: No

Instructions:

1. Update Civi theme to latest version via WordPress admin panel. 2. Verify theme version is above 2.1.4. 3. Rotate all LinkedIn API credentials immediately.

🔧 Temporary Workarounds

Remove vulnerable file

all

Delete or rename the vulnerable class-init.php file to prevent credential extraction

rm /path/to/wp-content/themes/civi/includes/class-init.php

Block file access via .htaccess

Apache

Prevent direct access to the vulnerable PHP file using web server rules

<Files "class-init.php">
  Order Allow,Deny
  Deny from all
</Files>

🧯 If You Can't Patch

  • Immediately rotate all LinkedIn API credentials used by the application
  • Implement web application firewall rules to block access to /wp-content/themes/civi/includes/class-init.php

🔍 How to Verify

Check if Vulnerable:

Check if file wp-content/themes/civi/includes/class-init.php exists and contains hard-coded LinkedIn credentials

Check Version:

Check WordPress admin panel > Appearance > Themes or examine style.css in theme folder

Verify Fix Applied:

Verify theme version is above 2.1.4 and class-init.php no longer contains hard-coded credentials

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /wp-content/themes/civi/includes/class-init.php
  • Unusual LinkedIn API activity from unexpected IPs

Network Indicators:

  • Outbound connections to LinkedIn API from compromised servers
  • Traffic patterns indicating credential harvesting

SIEM Query:

source="web_access_logs" AND uri="/wp-content/themes/civi/includes/class-init.php"

🔗 References

📤 Share & Export