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

VectorAV: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 👾

Weakness Enumeration

Related Identifiers

CVE-2023-50263
GHSA-75MC-3PJC-727Q
PYSEC-2023-286

Affected Products

Django
Mysql Server
Nautobot
Postgresql
Django-Db-File-Storage