PT-2023-31516 · Unknown+2 · Postgresql+4
Kircheneer
·
Published
2023-12-12
·
Updated
2023-12-18
·
CVE-2023-50263
CVSS v3.1
3.7
Low
| Vector | AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
Name of the Vulnerable Software and Affected Versions
Nautobot versions 1.x through 1.6.6
Nautobot versions 2.0.x through 2.0.5
Description
Nautobot is a Network Source of Truth and Network Automation Platform built as a web application atop the Django Python framework with a PostgreSQL or MySQL database. The URLs "/files/get/?name=..." and "/files/download/?name=..." are used to provide admin access to files that have been uploaded as part of a run request for a Job that has FileVar inputs. Under normal operation, these files are ephemeral and are deleted once the Job in question runs. However, in the default implementation used in Nautobot, as provided by
django-db-file-storage, these URLs do not by default require any user authentication to access; they should instead be restricted to only users who have permissions to view Nautobot's FileProxy model instances. Note that no URL mechanism is provided for listing or traversal of the available file name values, so in practice, an unauthenticated user would have to guess names to discover arbitrary files for download, but if a user knows the file name/path value, they can access it without authenticating.Recommendations
To resolve the issue, update to Nautobot version 1.6.7 or later for the 1.x branch.
To resolve the issue, update to Nautobot version 2.0.6 or later for the 2.0.x branch.
As a temporary workaround, consider restricting access to the
/files/get/?name=... and /files/download/?name=... API endpoints until a patch is available.
Restrict access to the FileProxy model instances to minimize the risk of exploitation.Exploit
Fix
Information Disclosure
Missing Authentication
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Django
Mysql Server
Nautobot
Postgresql
Django-Db-File-Storage