CVE-2024-23345 is a high-severity (CVSS 7.1) Cross-site Scripting (XSS) vulnerability in nautobot. A fix is available for nautobot — see the affected versions and patch details below.
Nautobot has XSS potential in rendered Markdown fields
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
nautobot🐍nautobotReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Impact
All users of Nautobot versions earlier than 1.6.10 or 2.1.2 are potentially impacted.
Due to inadequate input sanitization, any user-editable fields that support Markdown rendering, including:
Circuit.commentsCluster.commentsCustomField.descriptionDevice.commentsDeviceRedundancyGroup.commentsDeviceType.commentsJob.descriptionJobLogEntry.messageLocation.commentsNote.notePowerFeed.commentsProvider.noc_contactProvider.admin_contactProvider.commentsProviderNetwork.commentsRack.commentsTenant.commentsVirtualMachine.comments- Contents of any custom fields of type
markdown - Job class
descriptionattributes - The
SUPPORT_MESSAGEsystem configuration setting
are potentially susceptible to cross-site scripting (XSS) attacks via maliciously crafted data.
Patches
Fixed in Nautobot versions 1.6.10 and 2.1.2.
References
https://github.com/nautobot/nautobot/pull/5133 https://github.com/nautobot/nautobot/pull/5134
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | nautobot | ≥ 2.0.0&&< 2.1.2 | 2.1.2pip install --upgrade 'nautobot==2.1.2' |
| 🐍PyPI | nautobot | all versions | 1.6.10pip install --upgrade 'nautobot==1.6.10' |
Affected Products
nautobotnetworktocodeDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for nautobot, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update nautobot to 2.1.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2024-23345 is resolved across your whole dependency graph.
Workarounds
Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.
Frequently Asked Questions
Is CVE-2024-23345 in your dependencies?
Find it across PyPI, including transitive dependencies.