PyMoDAQ before 5.3.10 Arbitrary Code Execution via Crafted HDF5, Dock Layout, and XML Settings Files
Summary
| CVE | CVE-2026-120859 |
|---|---|
| State | PUBLISHED |
| Assigner | VulnCheck |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-11-05 18:17:05 UTC |
| Updated | 2026-11-05 18:17:05 UTC |
| Description | PyMoDAQ before 4.4.13, and pymodaq_data, pymodaq_gui, and pymodaq_utils before 5.1.15, 5.2.x before 5.2.14, and 5.3.x before 5.3.10, contain deserialization of untrusted data and eval injection vulnerabilities that allow attackers to execute arbitrary code by supplying crafted files that a user opens. Attackers can store pickled objects in HDF5 string nodes that StringARRAY.array_to_string() passes to pickle.loads() when the node is browsed or read, place Python expressions in HDF5 attributes that JsonConverter.json2object() evaluates, supply a .dock file that load_layout_state() unpickles from the Dashboard Load layout action, or embed Python expressions in XML settings files that elt_to_dict() and set_txt_from_elt() evaluate. |
Risk And Classification
Primary CVSS: v4.0 8.5 HIGH from [email protected]
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Problem Types: CWE-95 | CWE-502 | CWE-502 Deserialization of Untrusted Data | CWE-95 Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | [email protected] | Secondary | 8.5 | HIGH | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/C... |
| 4.0 | CNA | CVSS | 8.5 | HIGH | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| 3.1 | [email protected] | Primary | 7.8 | HIGH | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| 3.1 | CNA | CVSS | 7.8 | HIGH | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
CVSS v4.0 Breakdown
Attack Vector
LocalAttack Complexity
LowAttack Requirements
NonePrivileges Required
NoneUser Interaction
PassiveConfidentiality
HighIntegrity
HighAvailability
HighSub Conf.
NoneSub Integrity
NoneSub Availability
NoneCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS v3.1 Breakdown
Attack Vector
LocalAttack Complexity
LowPrivileges Required
NoneUser Interaction
RequiredScope
UnchangedConfidentiality
HighIntegrity
HighAvailability
HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | PyMoDAQ | PyMoDAQ | affected 4.4.13 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Data | affected 5.1.15 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Data | affected 5.2.0 5.2.14 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Data | affected 5.3.0 5.3.10 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Gui | affected 5.1.15 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Gui | affected 5.2.0 5.2.14 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Gui | affected 5.3.0 5.3.10 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Utils | affected 5.1.15 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Utils | affected 5.2.0 5.2.14 semver | Not specified |
| CNA | PyMoDAQ | Pymodaq Utils | affected 5.3.0 5.3.10 semver | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/PyMoDAQ/PyMoDAQ/releases/tag/4.4.13 | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/commit/6c7fff74d82624c640bd79513f5b4675ea6d88da | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/releases/tag/5.2.14 | [email protected] | github.com | |
| www.vulncheck.com/advisories/pymodaq-before-5.3.10-arbitrary-code-execution-via... | [email protected] | www.vulncheck.com | |
| github.com/PyMoDAQ/PyMoDAQ/commit/ae0042513eb979c84da690825902658c625718d1 | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/blob/5.3.9/packages/pymodaq_data/src/pymodaq_... | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/security/advisories/GHSA-jw9g-5c9x-cf84 | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/releases/tag/5.3.10 | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/releases/tag/5.1.15 | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/commit/041e8a22b3dbe3c986ec0ea3c6b46a22f5efe374 | [email protected] | github.com | |
| github.com/PyMoDAQ/PyMoDAQ/commit/3bf9042a58f5d4870a2b45fe2c9423aafe6b9203 | [email protected] | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Dilanka Kaushal Hewage (r3vpwnx) (en)
There are currently no legacy QID mappings associated with this CVE.