Description
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.
Published: 2026-05-01
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The serialization framework in LabOne Q performs dynamic class import by calling a function that accepts fully-qualified class names from a serialized file and then creates an instance of that class with arguments supplied by the file. The vulnerability allows an attacker to provide a crafted experiment file containing arbitrary class names and constructor parameters, resulting in the deserialization engine importing and executing the attacker‑controlled code. This can lead to arbitrary code execution within the context of the user running LabOne Q, potentially exposing the system to secrets, tampering, or further payloads.

Affected Systems

All users of Zurich Instruments LabOne Q that have not upgraded to the security‑backported version 26.1.2 or to 26.4.0 or newer are affected. Version information for earlier releases is not listed explicitly, so any LabOne Q build prior to those releases is presumed vulnerable.

Risk and Exploitability

The CVSS score of 8.4 classifies this flaw as high severity, and the vulnerability is explicitly listed outside the CISA KEV catalog. Exploitation requires a victim to load a malicious experiment file, which can be obtained through collaboration or support channels. The attack vector is therefore file‑based deserialization, with the attacker supplying an untrusted file that is opened by a user of LabOne Q. Because the flaw permits arbitrary code execution in the user's context, the risk is significant, but exploitation probability depends on exposure to such files, which is not quantified by an EPSS score.

Generated by OpenCVE AI on May 1, 2026 at 23:53 UTC.

Remediation

Vendor Solution

Update LabOne Q to version 26.1.2 (security backport on the 26.1.x line) or to 26.4.0 or later. The package can be updated via `pip install --upgrade laboneq`.


Vendor Workaround

Do not load untrusted experiment files: only deserialize experiment files (JSON, YAML) that originate from a trusted source. Treat serialized experiment files with the same caution as executable scripts. Validate file provenance: when receiving experiment files from external parties (e.g. for support or collaboration), verify their origin before loading them. Audit serialized files: before loading, inspect serialized experiment files and verify that only trusted classes are listed as deserializers.


OpenCVE Recommended Actions

  • Update LabOne Q to version 26.1.2 or later (security backport on the 26.1.x line) or to 26.4.0 or later via `pip install --upgrade laboneq`
  • Disallow loading of experiment files that come from untrusted sources; only deserialize files that originate from a verified, trusted source
  • Verify provenance of any externally obtained experiment file before loading it into LabOne Q
  • Audit serialized experiment files to confirm that only trusted classes are listed as deserializers before deserialization

Generated by OpenCVE AI on May 1, 2026 at 23:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 01 May 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 01 May 2026 07:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Arbitrary Code Execution via Unsafe Deserialization in LabOne Q
Weaknesses CWE-502
References
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 8.4, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: NCSC.ch

Published:

Updated: 2026-05-01T13:26:59.075Z

Reserved: 2026-05-01T07:14:23.592Z

Link: CVE-2026-7584

cve-icon Vulnrichment

Updated: 2026-05-01T13:26:54.611Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-05-01T08:16:01.913

Modified: 2026-05-01T15:28:29.083

Link: CVE-2026-7584

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-02T00:00:14Z

Weaknesses