CVE-2026-54916
HighCVSS 8.8Summary
NetBox Device Type Library, a collection of community-sourced device type definitions for import into NetBox, is vulnerable due to the absence of tests/init.py and the lack of --import-mode=importlib, causing pytest prepend import mode to place the tests directory at the front of sys.path during collection. An unauthenticated contributor can add a module such as tests/git.py that shadows GitPython or tests/conftest.py, leading to arbitrary code execution on the GitHub Actions runner.
Risk Assessment
An attacker can execute arbitrary code on the GitHub Actions runner, tamper with test results, and access tokens or network resources exposed to the workflow. This may lead to compromise of the repository and CI/CD infrastructure.
Recommendation
Apply the fix from commit b0d9a3dadd0a0a9d3c93b0b2777559fd4bad1037. Additionally, consider adding tests/init.py and using --import-mode=importlib, and restrict token permissions in the workflow.
Other vulnerabilities in NetBox Device Type Library
See all- CVE-2026-54918Medium
NetBox Device Type Library in the affected repository revisions has NETBOX_DT_LIBRARY_URL in tests/test_configuration.py as a free-form tracked constant that an unauthenticated pull-request author can change before the validation test harness runs. During pytest collection, tests/definitions_test.py passes the value to Repo.clone_from and create_remote("upstream").fetch(), causing blind Git smart-HTTP requests to an attacker-selected host or loading attacker-controlled tests/known-*.json validation caches. The blind request cannot set arbitrary metadata-service headers or return response bodies, and this path does not execute remote Git hooks, but substituted known data can bypass slug, module, and rack uniqueness validation. This vulnerability is fixed in commit 8980c690097e92f5028c7e6df402b327d827ecd5.
- CVE-2026-54752Critical
The NetBox Device Type Library contains a deserialization vulnerability in its test harness, which loads pull-request-controlled pickle files. An unauthenticated contributor can supply a crafted pickle file, leading to arbitrary code execution when pytest runs in GitHub Actions or in a maintainer's process.
Original NVD description (English source)
NetBox Device Type Library is a collection of community-sourced device type definitions for import into NetBox. The absence of tests/init.py and the lack of --import-mode=importlib cause pytest prepend import mode to place the tests directory at the front of sys.path during collection. An unauthenticated contributor can add a module such as tests/git.py that shadows GitPython when tests/definitions_test.py executes from git import Git, Repo, or add tests/conftest.py for automatic collection-time execution. Python imports and runs the pull-request module before any test function, allowing arbitrary code execution on the GitHub Actions runner, test-result tampering, and access to tokens or network resources exposed to the workflow. This module-shadowing path is independent of the earlier pickle deserialization flaw and the separately tracked NETBOX_DT_LIBRARY_URL issue. This vulnerability is fixed by commit b0d9a3dadd0a0a9d3c93b0b2777559fd4bad1037.

