Description
ESPectre is a Wi-Fi motion sensing platform for ESP32. Prior to 3.0.0-rc1, Micro-ESPectre analysis tools, including tools/6_optimize_filter_params.py, tools/1_analyze_raw_data.py, and tools/10_train_ml_model.py, load NPZ datasets with NumPy pickle support enabled through micro-espectre/tools/csi_utils.py and a direct loader. A malicious dataset contributor or pull-request author can place an object-typed array in a .npz file under micro-espectre/data, causing pickle-controlled code to execute as the maintainer or developer when a documented analysis tool accesses the field. This issue is fixed in version 3.0.0-rc1.
Published: 2026-11-05
Score: 7.8 High
EPSS: n/a
KEV: No
Impact: Code Execution
Action: Apply Patch
AI Analysis

Impact

The vulnerability is an unsafe deserialization flaw that allows a maliciously crafted .npz dataset containing an object‑typed array to trigger pickle code execution when ESPectre’s analysis tools load the file. This results in arbitrary code running with the privileges of the maintainer or developer, providing full control over the system. The weakness is a classic unsafe deserialization (CWE‑502).

Affected Systems

ESPectre, the Wi‑Fi motion sensing platform for ESP32 developed by Francesco Pace, is affected. All versions released before 3.0.0‑rc1 that use the tools/6_optimize_filter_params.py, tools/1_analyze_raw_data.py, and tools/10_train_ml_model.py and load NPZ datasets via micro‑espectre/tools/csi_utils.py are vulnerable. The issue is fixed starting with release 3.0.0‑rc1.

Risk and Exploitability

The CVSS score of 7.8 indicates moderate to high severity. No EPSS score is available, and the vulnerability is not listed in CISA’s KEV catalog. The attack vector is inferred to be local; a collaborator or developer who can provide a malicious .npz file or a pull‑request author who can inject the payload will trigger execution when the analysis tool reads the field. Because the flaw relies on pickle deserialization in trusted code, exploitation requires that the attacker can influence the dataset loaded by the maintainer.

Generated by OpenCVE AI on November 5, 2026 at 17:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest release of ESPectre (3.0.0‑rc1 or newer) to remove unsafe pickle deserialization.
  • If upgrading is not possible, configure the analysis tools to use NumPy’s ‘numpy.load’ with allow_pickle=False or remove the pickle loader in csi_utils.py to prevent arbitrary code execution.
  • Restrict .npz dataset contributions to trusted reviewers, and implement a CI check that verifies no object‑typed arrays are present before merging pull‑requests.

Generated by OpenCVE AI on November 5, 2026 at 17:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 05 Nov 2026 16:30:00 +0000

Type Values Removed Values Added
Description ESPectre is a Wi-Fi motion sensing platform for ESP32. Prior to 3.0.0-rc1, Micro-ESPectre analysis tools, including tools/6_optimize_filter_params.py, tools/1_analyze_raw_data.py, and tools/10_train_ml_model.py, load NPZ datasets with NumPy pickle support enabled through micro-espectre/tools/csi_utils.py and a direct loader. A malicious dataset contributor or pull-request author can place an object-typed array in a .npz file under micro-espectre/data, causing pickle-controlled code to execute as the maintainer or developer when a documented analysis tool accesses the field. This issue is fixed in version 3.0.0-rc1.
Title ESPectre: Unsafe Deserialization on .npz dataset leads to Code Execution
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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-05T16:09:12.295Z

Reserved: 2026-09-29T16:19:11.295Z

Link: CVE-2026-102739

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-05T17:17:32.083

Modified: 2026-11-05T17:17:32.083

Link: CVE-2026-102739

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-05T17:30:19Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data