CVE-2025-69848

5.4 MEDIUM

📋 TL;DR

A reflected cross-site scripting (XSS) vulnerability in NetBox allows attackers to inject malicious scripts into error messages when delete operations fail. This affects NetBox versions 2.11.0 through 3.7.x, potentially enabling execution of arbitrary JavaScript in the context of authenticated users, including administrators.

💻 Affected Systems

Products:
  • NetBox
Versions: 2.11.0 through 3.7.x
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default ProtectedError handling logic when object names are included in HTML error messages without proper escaping.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Privileged user executes malicious JavaScript leading to session hijacking, account takeover, or administrative actions performed by the attacker.

🟠

Likely Case

Attacker steals session cookies or authentication tokens from authenticated users, gaining unauthorized access to the NetBox instance.

🟢

If Mitigated

Attack fails due to proper input validation, output encoding, or Content Security Policy (CSP) blocking script execution.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires tricking an authenticated user into clicking a malicious link that triggers a delete operation failure.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.7.2 or later

Vendor Advisory: https://github.com/netbox-community/netbox/releases

Restart Required: Yes

Instructions:

1. Backup your NetBox database and configuration. 2. Update NetBox to version 3.7.2 or later using pip: 'pip install --upgrade netbox'. 3. Run database migrations: 'python manage.py migrate'. 4. Restart the NetBox service.

🔧 Temporary Workarounds

Implement Content Security Policy

all

Add a strict CSP header to block inline scripts and restrict script sources.

Add 'Content-Security-Policy: script-src 'self';' to web server configuration

Input Validation Filter

linux

Add middleware to sanitize object names in delete request parameters.

Implement custom Django middleware to escape HTML special characters in relevant parameters

🧯 If You Can't Patch

  • Restrict delete permissions to trusted users only
  • Implement web application firewall (WAF) rules to block XSS payloads

🔍 How to Verify

Check if Vulnerable:

Check NetBox version with: 'python -c "import netbox; print(netbox.__version__)"'

Check Version:

python -c "import netbox; print(netbox.__version__)"

Verify Fix Applied:

Confirm version is 3.7.2 or later and test delete operations with malicious object names.

📡 Detection & Monitoring

Log Indicators:

  • Unusual delete operation failures with special characters in object names
  • Multiple failed delete requests from single IP

Network Indicators:

  • HTTP requests with script tags or JavaScript in delete parameters

SIEM Query:

source="netbox.log" AND "DELETE" AND ("<script>" OR "javascript:")

🔗 References

📤 Share & Export