CVE-2024-48987

6.6 MEDIUM

📋 TL;DR

Snipe-IT versions before 7.0.10 contain a remote code execution vulnerability via cookie serialization when an attacker obtains the APP_KEY. This allows unauthenticated attackers to execute arbitrary code on affected systems. Organizations using Snipe-IT with default or exposed APP_KEY values are at risk.

💻 Affected Systems

Products:
  • Snipe-IT
Versions: All versions before 7.0.10
Operating Systems: All platforms running Snipe-IT
Default Config Vulnerable: ⚠️ Yes
Notes: Default .env files in repository contain predictable APP_KEY values, making exploitation easier.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attacker to execute arbitrary commands, access sensitive data, install malware, and pivot to other systems.

🟠

Likely Case

Unauthenticated remote code execution leading to data theft, system manipulation, and potential ransomware deployment.

🟢

If Mitigated

Limited impact if APP_KEY is properly secured and system is isolated, though vulnerability still exists in code.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires APP_KEY knowledge, but default keys in repository make this trivial.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.0.10

Vendor Advisory: https://github.com/snipe/snipe-it/releases/tag/v7.0.10

Restart Required: Yes

Instructions:

1. Backup your database and files. 2. Update to Snipe-IT v7.0.10 via git pull or fresh install. 3. Run 'php artisan migrate'. 4. Clear cache with 'php artisan config:clear'. 5. Restart web server.

🔧 Temporary Workarounds

Change APP_KEY

all

Generate and set a new, strong APP_KEY to prevent exploitation with known/default keys.

php artisan key:generate

Restrict .env Access

linux

Secure .env file permissions to prevent APP_KEY exposure.

chmod 600 .env
chown www-data:www-data .env

🧯 If You Can't Patch

  • Change APP_KEY immediately using 'php artisan key:generate'
  • Implement strict network segmentation and firewall rules to limit Snipe-IT access

🔍 How to Verify

Check if Vulnerable:

Check Snipe-IT version in web interface or via 'php artisan --version' command.

Check Version:

php artisan --version

Verify Fix Applied:

Confirm version is 7.0.10 or higher and APP_KEY has been changed from default values.

📡 Detection & Monitoring

Log Indicators:

  • Unusual cookie values in web logs
  • Unexpected PHP artisan command execution
  • Suspicious Laravel serialization errors

Network Indicators:

  • HTTP requests with manipulated cookie data
  • Unusual outbound connections from Snipe-IT server

SIEM Query:

source="web_logs" AND (cookie="*snipeit_session*" AND (uri="*php*" OR user_agent="*curl*" OR user_agent="*wget*"))

🔗 References

📤 Share & Export