Executive brief
NetBox Device Type Library is a collection of device type definitions used by network administrators to configure NetBox systems. The library's testing framework unsafely deserializes Python pickle files that can be modified by pull request contributors, allowing arbitrary code execution during test runs on GitHub Actions or maintainer machines. This could lead to credential theft, code tampering, or lateral movement into connected networks.
Technical details
The vulnerability is an insecure deserialization flaw in the pickle_operations.py test harness. The read_pickle_data function uses pickle.load() to deserialize cache files (known-modules.pickle, known-racks.pickle) that are tracked in git and can be modified by pull request contributors. An attacker can craft a malicious pickle file that executes arbitrary Python code during deserialization via object reduction behavior. The vulnerability requires no authentication but does require the attacker to submit a pull request with the crafted pickle file and have tests execute. The fix (commit 1c6f7e2b93589b965318c6e67ac3504831f0e71e) migrates from pickle to JSON serialization and hardens the USE_LOCAL_KNOWN_SLUGS configuration flag to prevent exploitation in pull requests.
Affected products
- NetBox Community Device Type Library unspecified
Timeline
- 2026-09-17: disclosed: Published on NVD
- 2026-06-09: patched: Fixed in commit 1c6f7e2b93589b965318c6e67ac3504831f0e71e