CVE-2026-24949

7.1 HIGH

📋 TL;DR

This DOM-based cross-site scripting (XSS) vulnerability in the PhotoMe WordPress theme allows attackers to inject malicious scripts into web pages viewed by other users. It affects all PhotoMe theme installations from unknown earliest versions through version 5.7.1. Attackers can exploit this to steal session cookies, redirect users, or perform actions on their behalf.

💻 Affected Systems

Products:
  • ThemeGoods PhotoMe WordPress Theme
Versions: n/a through <= 5.7.1
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations using vulnerable PhotoMe theme versions. Requires user interaction with malicious input to trigger.

⚠️ 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 could steal administrator credentials, take over WordPress sites, install backdoors, deface websites, or use compromised sites for phishing campaigns against visitors.

🟠

Likely Case

Attackers inject malicious JavaScript to steal user session cookies, redirect users to malicious sites, or perform actions as authenticated users.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts would be neutralized before reaching users' browsers.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

DOM-based XSS typically requires user interaction but can be exploited via crafted links or forms. No public exploit code identified in references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: >5.7.1

Vendor Advisory: https://patchstack.com/database/Wordpress/Theme/photome/vulnerability/wordpress-photome-theme-5-7-1-cross-site-scripting-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Appearance > Themes. 3. Check if PhotoMe theme update is available. 4. Update to latest version (>5.7.1). 5. Clear browser cache and test functionality.

🔧 Temporary Workarounds

Temporary Theme Deactivation

all

Switch to default WordPress theme until patch is applied

wp theme activate twentytwentyfour

Content Security Policy (CSP)

all

Implement CSP headers to restrict script execution

Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Add to wp-config.php: header("Content-Security-Policy: default-src 'self'; script-src 'self'");

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block XSS payloads
  • Disable user input fields that could be vulnerable until patching is possible

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Appearance > Themes for PhotoMe theme version <=5.7.1

Check Version:

wp theme list --field=name,status,version | grep photome

Verify Fix Applied:

Confirm PhotoMe theme version is >5.7.1 in WordPress admin, test input fields with basic XSS payloads like <script>alert('test')</script>

📡 Detection & Monitoring

Log Indicators:

  • Unusual JavaScript in URL parameters
  • Multiple failed XSS attempts in web server logs
  • Suspicious user-agent strings containing script tags

Network Indicators:

  • HTTP requests with script tags in parameters
  • Outbound connections to unknown domains after page load

SIEM Query:

source="web_logs" AND ("<script" OR "javascript:" OR "onload=" OR "onerror=") AND uri_path="*"

🔗 References

📤 Share & Export