// For flags

CVE-2023-50263

Nautobot allows unauthenticated db-file-storage views

Severity Score

5.3
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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. In Nautobot 1.x and 2.0.x prior to 1.6.7 and 2.0.6, 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.

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, so we are considering this a vulnerability.

Fixes are included in Nautobot 1.6.7 and Nautobot 2.0.6. No known workarounds are available other than applying the patches included in those versions.

Nautobot es una plataforma de automatización de redes y fuente de verdad de red creada como una aplicación web sobre el framework Django Python con una base de datos PostgreSQL o MySQL. En Nautobot 1.x y 2.0.x anteriores a 1.6.7 y 2.0.6, se utilizan las URL `/files/get/?name=...` y `/files/download/?name=...` para proporcionar acceso de administrador a los archivos que se han cargado como parte de una solicitud de ejecución para un trabajo que tiene entradas FileVar. En condiciones normales de funcionamiento, estos archivos son efímeros y se eliminan una vez que se ejecuta el trabajo en cuestión. En la implementación predeterminada utilizada en Nautobot, proporcionada por `django-db-file-storage`, estas URL no requieren de forma predeterminada ninguna autenticación de usuario para acceder; en su lugar, deberían restringirse únicamente a los usuarios que tengan permisos para ver las instancias del modelo `FileProxy` de Nautobot. Tenga en cuenta que no se proporciona ningún mecanismo de URL para enumerar o recorrer los valores de "nombre" de archivos disponibles, por lo que en la práctica un usuario no autenticado tendría que adivinar nombres para descubrir archivos arbitrarios para descargar, pero si un usuario conoce el nombre del archivo/valor de ruta, pueden acceder a él sin autenticarse, por lo que consideramos esto una vulnerabilidad. Las correcciones se incluyen en Nautobot 1.6.7 y Nautobot 2.0.6. No hay workarounds disponibles aparte de aplicar los parches incluidos en esas versiones.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2023-12-05 CVE Reserved
  • 2023-12-12 CVE Published
  • 2024-08-02 CVE Updated
  • 2024-11-11 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
  • CWE-306: Missing Authentication for Critical Function
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Networktocode
Search vendor "Networktocode"
Nautobot
Search vendor "Networktocode" for product "Nautobot"
>= 1.1.0 < 1.6.7
Search vendor "Networktocode" for product "Nautobot" and version " >= 1.1.0 < 1.6.7"
-
Affected
Networktocode
Search vendor "Networktocode"
Nautobot
Search vendor "Networktocode" for product "Nautobot"
>= 2.0.0 < 2.0.6
Search vendor "Networktocode" for product "Nautobot" and version " >= 2.0.0 < 2.0.6"
-
Affected