CVE-2025-63307

8.1 HIGH

📋 TL;DR

CVE-2025-63307 is a Cross-Site Scripting (XSS) vulnerability in alexusmai/laravel-file-manager version 3.3.1 that allows attackers to upload malicious HTML or SVG files and have them served inline without proper sanitization. This enables execution of arbitrary JavaScript in victims' browsers when they view the uploaded files. Anyone using the vulnerable version of this Laravel file manager package is affected.

💻 Affected Systems

Products:
  • alexusmai/laravel-file-manager
Versions: 3.3.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations using the default configuration that allows HTML/SVG file uploads and inline serving.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, deface websites, or redirect users to malicious sites, potentially leading to full account compromise.

🟠

Likely Case

Attackers inject malicious scripts to steal user sessions or credentials, perform unauthorized actions, or deface the application.

🟢

If Mitigated

With proper content security policies and file type restrictions, impact is limited to isolated script execution without access to sensitive data.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires file upload privileges but is straightforward once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.3.2 or later

Vendor Advisory: https://github.com/alexusmai/laravel-file-manager

Restart Required: No

Instructions:

1. Update composer.json to require "alexusmai/laravel-file-manager": "^3.3.2"
2. Run composer update
3. Clear Laravel cache: php artisan cache:clear
4. Verify the update with composer show alexusmai/laravel-file-manager

🔧 Temporary Workarounds

Restrict file upload types

all

Configure the file manager to block HTML and SVG file uploads

Edit config/file-manager.php to add 'html', 'svg' to disallowed file types array

Force download instead of inline display

all

Configure files to download rather than display inline in browser

Set 'inline' => false in file manager configuration for HTML/SVG MIME types

🧯 If You Can't Patch

  • Implement strict Content Security Policy headers to block inline script execution
  • Deploy WAF rules to detect and block malicious file uploads containing script tags

🔍 How to Verify

Check if Vulnerable:

Check if using version 3.3.1: composer show alexusmai/laravel-file-manager | grep version

Check Version:

composer show alexusmai/laravel-file-manager | grep version

Verify Fix Applied:

Confirm version is 3.3.2 or higher: composer show alexusmai/laravel-file-manager

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTML/SVG file uploads
  • Multiple file rename operations to .html/.svg extensions
  • Requests to uploaded files with suspicious parameters

Network Indicators:

  • Unexpected JavaScript execution in file preview endpoints
  • External script loads from file upload domains

SIEM Query:

source="web_logs" AND (uri="*.html" OR uri="*.svg") AND (user_agent CONTAINS "script" OR referrer CONTAINS "javascript")

🔗 References

📤 Share & Export