CVE-2023-29631

9.8 CRITICAL

📋 TL;DR

CVE-2023-29631 is an incorrect access control vulnerability in PrestaShop's jmsslider module that allows unauthenticated attackers to execute arbitrary PHP code via the ajax_jmsslider.php endpoint. This affects all PrestaShop installations using jmsslider version 1.6.0, potentially leading to complete system compromise.

💻 Affected Systems

Products:
  • PrestaShop jmsslider module
Versions: 1.6.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects PrestaShop installations with jmsslider module installed. The vulnerable file is at modules/jmsslider/ajax_jmsslider.php.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete server takeover, data theft, malware deployment, and lateral movement within the network.

🟠

Likely Case

Unauthenticated attackers upload web shells, deface websites, steal customer data, and establish persistent backdoors.

🟢

If Mitigated

With proper network segmentation and WAF rules, impact limited to the web application layer only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit requires simple HTTP POST requests to the vulnerable endpoint. Multiple public exploits exist.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.6.1

Vendor Advisory: https://friends-of-presta.github.io/security-advisories/modules/2023/03/13/jmsslider.html

Restart Required: No

Instructions:

1. Download jmsslider 1.6.1 from PrestaShop Addons marketplace. 2. Replace the existing jmsslider module folder. 3. Clear PrestaShop cache from Advanced Parameters > Performance.

🔧 Temporary Workarounds

Delete vulnerable file

linux

Remove the vulnerable ajax_jmsslider.php file to prevent exploitation

rm -f modules/jmsslider/ajax_jmsslider.php

Restrict file access via .htaccess

all

Block access to the vulnerable endpoint using Apache mod_rewrite

RewriteRule ^modules/jmsslider/ajax_jmsslider\.php$ - [F,L]

🧯 If You Can't Patch

  • Implement WAF rules to block requests to /modules/jmsslider/ajax_jmsslider.php
  • Restrict network access to PrestaShop admin panel and vulnerable endpoints

🔍 How to Verify

Check if Vulnerable:

Check if file exists: ls -la modules/jmsslider/ajax_jmsslider.php

Check Version:

grep -r 'version' modules/jmsslider/ || echo 'Check module admin panel'

Verify Fix Applied:

Verify jmsslider version in module configuration or check file modification date

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /modules/jmsslider/ajax_jmsslider.php
  • Unusual file uploads in jmsslider directory
  • PHP code execution errors

Network Indicators:

  • HTTP POST to ajax_jmsslider.php with file upload parameters
  • Unusual outbound connections from web server

SIEM Query:

source="web_access.log" AND uri="/modules/jmsslider/ajax_jmsslider.php" AND method="POST"

🔗 References

📤 Share & Export