CVE-2024-38963

6.1 MEDIUM

📋 TL;DR

This vulnerability allows attackers to inject malicious scripts into product review fields in nopCommerce 4.70.1. When users view these reviews, the scripts execute in their browsers, potentially stealing session cookies or performing unauthorized actions. All nopCommerce 4.70.1 installations with product review functionality enabled are affected.

💻 Affected Systems

Products:
  • nopCommerce
Versions: 4.70.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with product review functionality enabled (default setting).

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers steal administrator session cookies, gain administrative access, and compromise the entire e-commerce platform including customer data and payment information.

🟠

Likely Case

Attackers steal user session cookies to hijack accounts, deface product pages with malicious content, or redirect users to phishing sites.

🟢

If Mitigated

Scripts execute but cannot access sensitive data due to proper Content Security Policy and cookie security settings.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires user interaction (viewing malicious reviews). Public proof-of-concept demonstrates injection via review submission form.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.70.2 or later

Vendor Advisory: https://github.com/nopSolutions/nopCommerce/issues/7224

Restart Required: No

Instructions:

1. Backup your nopCommerce installation and database. 2. Download nopCommerce 4.70.2 or later from the official repository. 3. Replace affected files with patched versions. 4. Clear application cache. 5. Test review functionality.

🔧 Temporary Workarounds

Disable Product Reviews

all

Temporarily disable the product review functionality to prevent exploitation.

Navigate to Admin Panel > Configuration > Settings > Catalog Settings > Product Reviews > Disable 'Allow customers to write product reviews'

Input Validation Filter

all

Add server-side input validation to sanitize review title and text fields.

Implement HTML encoding for AddProductReview.Title and AddProductReview.ReviewText parameters before storing in database

🧯 If You Can't Patch

  • Implement Content Security Policy (CSP) headers to restrict script execution
  • Enable HttpOnly and Secure flags on session cookies to limit cookie theft

🔍 How to Verify

Check if Vulnerable:

Submit a product review with <script>alert('XSS')</script> in title or review text fields. If alert executes when viewing review, system is vulnerable.

Check Version:

Check Admin Panel > System > System Information or examine web.config/appsettings.json for version information

Verify Fix Applied:

Attempt the same XSS payload after patching. Alert should not execute and payload should be displayed as plain text.

📡 Detection & Monitoring

Log Indicators:

  • Unusually long review submissions
  • Review submissions containing script tags or JavaScript patterns
  • Multiple review submissions from same IP

Network Indicators:

  • HTTP POST requests to /productreviews/add with suspicious payloads in parameters

SIEM Query:

source="web_server_logs" AND (uri_path="/productreviews/add" AND (param="AddProductReview.Title" OR param="AddProductReview.ReviewText") AND (content="<script" OR content="javascript:"))

🔗 References

📤 Share & Export