User with no permissions can view custom_field_choices API endpoint #2937

Closed
opened 2025-12-29 18:23:44 +01:00 by adam · 1 comment
Owner

Originally created by @Grokzen on GitHub (Oct 8, 2019).

Environment

  • Python version: 3.6.x
  • NetBox version: 2.6.5

Steps to Reproduce

  1. Create a user with no permissions or groups attached to it
  2. Access to http://localhost/api/extras/_custom_field_choices/

Expected Behavior

This API endpoint can possibly leak additional information that it should not as it exposes a lot of internal field values and data that you might not want to expose without controll.

Observed Behavior

User could see all data in that API endpoint

Originally created by @Grokzen on GitHub (Oct 8, 2019). <!-- NOTE: This form is only for reproducible bugs. If you need assistance with NetBox installation, or if you have a general question, DO NOT open an issue. Instead, post to our mailing list: https://groups.google.com/forum/#!forum/netbox-discuss Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: 3.6.x <!-- Example: 3.5.4 --> * NetBox version: 2.6.5 <!-- Example: 2.5.2 --> <!-- Describe in detail the exact steps that someone else can take to reproduce this bug using the current stable release of NetBox (or the current beta release where applicable). Begin with the creation of any necessary database objects and call out every operation being performed explicitly. If reporting a bug in the REST API, be sure to reconstruct the raw HTTP request(s) being made: Don't rely on a wrapper like pynetbox. --> ### Steps to Reproduce 1. Create a user with no permissions or groups attached to it 2. Access to http://localhost/api/extras/_custom_field_choices/ <!-- What did you expect to happen? --> ### Expected Behavior This API endpoint can possibly leak additional information that it should not as it exposes a lot of internal field values and data that you might not want to expose without controll. <!-- What happened instead? --> ### Observed Behavior User could see all data in that API endpoint
adam closed this issue 2025-12-29 18:23:45 +01:00
Author
Owner

@jeremystretch commented on GitHub (Oct 8, 2019):

This is expected. NetBox permissions deal only with view, create, update, and delete functions on objects: There are no permissions which imply access to potential field values. If you have a set of potential attributes that is itself considered sensitive (and enforcing LOGIN_REQUIRED does not provide sufficient protection), it would not be advisable to store them as custom field choices.

@jeremystretch commented on GitHub (Oct 8, 2019): This is expected. NetBox permissions deal only with view, create, update, and delete functions on objects: There are no permissions which imply access to potential field values. If you have a set of potential attributes that is itself considered sensitive (and enforcing `LOGIN_REQUIRED` does not provide sufficient protection), it would not be advisable to store them as custom field choices.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2937