CVE-2024-29514

8.8 HIGH

📋 TL;DR

This vulnerability allows authenticated remote attackers to upload malicious PHP files to lepton v7.1.0, potentially leading to remote code execution. Any system running the vulnerable version of lepton with file upload functionality enabled is affected.

💻 Affected Systems

Products:
  • lepton
Versions: 7.1.0
Operating Systems: All platforms running lepton
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to the lepton application with file upload permissions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining full control over the server, data exfiltration, and lateral movement within the network.

🟠

Likely Case

Webshell deployment allowing persistent access, data theft, and potential privilege escalation on the affected server.

🟢

If Mitigated

Limited impact with proper file upload restrictions, potentially only file storage without execution capability.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once credentials are obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Unknown

Restart Required: No

Instructions:

Check for updated version from lepton project. If unavailable, implement workarounds immediately.

🔧 Temporary Workarounds

Restrict PHP file uploads

all

Configure web server or application to block uploads of PHP files

# For Apache: Add to .htaccess
<FilesMatch "\.(php|php3|php4|php5|phtml|phar)$">
    Deny from all
</FilesMatch>
# For Nginx: Add to server block
location ~ \.(php|php3|php4|php5|phtml|phar)$ {
    deny all;
}

Implement file type validation

all

Add server-side validation to reject PHP file uploads

# Example PHP validation snippet
$allowed_extensions = array('jpg', 'png', 'gif', 'pdf', 'txt');
$file_extension = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
if (!in_array($file_extension, $allowed_extensions)) {
    die('Invalid file type');
}

🧯 If You Can't Patch

  • Disable file upload functionality completely in lepton configuration
  • Implement WAF rules to block PHP file uploads at network perimeter

🔍 How to Verify

Check if Vulnerable:

Check lepton version in admin panel or configuration files. If version is 7.1.0 and file uploads are enabled, system is vulnerable.

Check Version:

Check lepton configuration files or admin interface for version information

Verify Fix Applied:

Attempt to upload a PHP file after implementing fixes. Upload should be rejected or file should not execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file upload activity, especially PHP files
  • Multiple failed upload attempts followed by successful PHP upload
  • Web server logs showing execution of uploaded PHP files

Network Indicators:

  • HTTP POST requests to upload endpoints with PHP file content
  • Subsequent requests to uploaded PHP files

SIEM Query:

source="web_logs" AND (uri="*upload*" OR method="POST") AND (file_extension="php" OR content_type="application/x-php")

🔗 References

📤 Share & Export