The LabOne Q serialization framework uses a class-loading mechanism (import_cls) to dynamically import and instantiate Python classes during deserialization. Prior to the fix, this mechanism accepted arbitrary fully-qualified class names from the serialized data without any validation of the target class or restriction on which modules could be imported. An attacker can craft a serialized experiment file that causes the deserialization engine to import and instantiate arbitrary Python classes with attacker-controlled constructor arguments, resulting in arbitrary code execution in the context of the user running the Python process. Exploitation requires the victim to load a malicious file using LabOne Q's deserialization functions, for example a compromised experiment file shared for collaboration or support purposes.
Fix
Patch, vendor advisory and mitigation references on NVD 1
- https://www.zhinst.com/support/security/2026/zi-sa-2026-002/ Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 8.4 · zhinstNVD modified 2026-10-26 21:10
Affected (CPE criteria) 6
cpe:2.3:a:zhinst:labone_q:*:*:*:*:*:*:*:*cpe:2.3:a:zhinst:labone_q:26.4.0:beta1:*:*:*:*:*:*cpe:2.3:a:zhinst:labone_q:26.4.0:beta2:*:*:*:*:*:*cpe:2.3:a:zhinst:labone_q:26.4.0:beta3:*:*:*:*:*:*cpe:2.3:a:zhinst:labone_q:26.4.0:beta4:*:*:*:*:*:*cpe:2.3:a:zhinst:labone_q:26.4.0:beta5:*:*:*:*:*:*
References 1
- https://www.zhinst.com/support/security/2026/zi-sa-2026-002/ Vendor Advisory