Script object variables display and accept objects the user cannot view
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
Línea de trabajo
Start by tracing the UI and REST run paths that render and validate Script forms, then inspect how ObjectVar and MultiObjectVar resolve submitted IDs. Check where NetBox's restrict_form_fields() helper is applied and how object-level view permissions affect its queryset. Done means inaccessible objects are neither shown as selected values nor accepted on submission, including REST requests.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Plugin Version
v0.0.1
NetBox Version
v4.7.4
Python Version
3.12
Steps to Reproduce
- As an administrator, upload and activate this Script:
from ipam.models import Prefix from netbox_scripts import ObjectVar, Script class InspectPrefix(Script): prefix = ObjectVar(model=Prefix) def run(self, data, commit): self.log_info(str(data['prefix']), obj=data['prefix']) - Create a prefix, such as
10.0.0.0/24, and note its ID. - Sign in as a non-superuser with
runpermission on the Script and no view permission for prefixes, either directly or through a group. - Open
/plugins/netbox-scripts/scripts/<script-id>/run/?prefix=<prefix-id>. - Submit the form.
Expected Behavior
ObjectVar and MultiObjectVar display and accept only objects the requesting user can view, including any object-level permission constraints.
The prefix is not displayed as a selected value. Submitting its ID through the UI or REST API returns an invalid-choice error without creating a Job.
Observed Behavior
The Run page displays 10.0.0.0/24 as the selected prefix. Submitting the form creates a Job with that Prefix object in data, despite the user's lack of view permission.
Dropdown searches and the advanced selector respect view permissions, but prefilled and submitted IDs are resolved against an unrestricted queryset. MultiObjectVar and REST submissions are affected too.
The UI and REST run paths do not apply NetBox's restrict_form_fields() helper before rendering or validating the form. The label is exposed before the Script runs, so permission checks inside run() cannot prevent it.
- Lenguaje dominante
- Python
- Estrellas
- 8
- Forks
- 0
- Merge medio
- 11 h 41 min
- PR fusionados (30 d)
- 38
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de netbox-community/netbox-scripts
-
app: scripts Bucket: Improve status: backlog type: documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
netbox-community/netbox-scripts#80 ·
Los mantenedores suelen responder en 1 día
-
app: scripts Bucket: KTLO severity: low status: backlog type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
netbox-community/netbox-scripts#76 ·
Los mantenedores suelen responder en 1 día
-
app: scripts Bucket: KTLO severity: medium status: backlog type: bug
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
netbox-community/netbox-scripts#114 ·
Los mantenedores suelen responder en 1 día
-
app: scripts Bucket: KTLO severity: medium status: backlog type: bug
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
netbox-community/netbox-scripts#112 ·
Los mantenedores suelen responder en 1 día
-
app: scripts Bucket: KTLO severity: low status: backlog type: bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
netbox-community/netbox-scripts#111 ·
Los mantenedores suelen responder en 1 día
Todos los issues de netbox-community/netbox-scripts
Issues similares
-
area/test type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Clodmony/starship-coop#70 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
punitarani/fli#270 ·
-
🐛 Bug 🔔 Pending processing
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
jumpserver/jumpserver#17980 ·
Los mantenedores suelen responder en 1 día
-
community enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
Claiming namespace `prodmetrics`Abiertonamespace
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
EclipseFdn/open-vsx.org#15341 ·
Los mantenedores suelen responder en 1 día