CVE-2024-32979
📋 TL;DR
CVE-2024-32979 is a reflected cross-site scripting vulnerability in Nautobot's filterable object-list views. Attackers can craft malicious URLs that execute arbitrary JavaScript in victims' browsers when clicked. All Nautobot users accessing vulnerable versions are affected.
💻 Affected Systems
- Nautobot
📦 What is this software?
Nautobot by Networktocode
Nautobot by Networktocode
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or install malware via browser exploitation.
Likely Case
Session hijacking leading to unauthorized access, data theft, or privilege escalation within the Nautobot application.
If Mitigated
With proper input validation and output encoding, XSS attacks are prevented, limiting impact to attempted exploitation logs.
🎯 Exploit Status
Exploitation requires user interaction (clicking malicious link) but doesn't require authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.6.20 or 2.2.3
Vendor Advisory: https://github.com/nautobot/nautobot/security/advisories/GHSA-jxgr-gcj5-cqqg
Restart Required: Yes
Instructions:
1. Backup your Nautobot instance and database. 2. Update Nautobot using pip: 'pip install --upgrade nautobot==1.6.20' or 'pip install --upgrade nautobot==2.2.3'. 3. Restart the Nautobot service. 4. Verify the update was successful.
🔧 Temporary Workarounds
No official workarounds
allThe vendor advisory states there are no known workarounds for this vulnerability.
🧯 If You Can't Patch
- Implement strict Content Security Policy (CSP) headers to limit script execution
- Use web application firewall (WAF) rules to detect and block XSS payloads in URLs
🔍 How to Verify
Check if Vulnerable:
Check Nautobot version: if running version <1.6.20 (for 1.x) or <2.2.3 (for 2.x), you are vulnerable.
Check Version:
python -c "import nautobot; print(nautobot.__version__)"
Verify Fix Applied:
After patching, verify version is 1.6.20 or higher (1.x) or 2.2.3 or higher (2.x). Test filterable views with safe XSS test payloads.
📡 Detection & Monitoring
Log Indicators:
- Unusual long URLs with script tags or JavaScript in query parameters
- Multiple failed XSS attempts in web logs
Network Indicators:
- HTTP requests containing <script> tags or JavaScript in URL parameters
- Suspicious redirects from Nautobot URLs
SIEM Query:
source="nautobot.logs" AND (url="*<script>*" OR url="*javascript:*" OR url="*onerror=*" OR url="*onload=*")
🔗 References
- https://github.com/nautobot/nautobot/commit/42440ebd9b381534ad89d62420ebea00d703d64e
- https://github.com/nautobot/nautobot/pull/5646
- https://github.com/nautobot/nautobot/pull/5647
- https://github.com/nautobot/nautobot/security/advisories/GHSA-jxgr-gcj5-cqqg
- https://github.com/nautobot/nautobot/commit/42440ebd9b381534ad89d62420ebea00d703d64e
- https://github.com/nautobot/nautobot/pull/5646
- https://github.com/nautobot/nautobot/pull/5647
- https://github.com/nautobot/nautobot/security/advisories/GHSA-jxgr-gcj5-cqqg