ETK-2026-2219Zero's internal tracking ID, independent of the CVE number.
waiting for further signalsZero needs more public information before it can validate it.description
Affected numcodecs releases can invoke attacker-controlled code while reading array data that selects the Pickle codec. An attacker must be able to supply or alter array metadata and chunk content that the application reads, such as through an untrusted dataset or remote array source.
mitigation
Upgrade numcodecs to 0.17.1, 0.16.6, or 0.15.2, selecting the applicable maintained release line. Until upgraded, do not read untrusted arrays or array data from untrusted remote sources.
fixed in 0.17.1, 0.16.6, 0.15.2
outcome
Contextual: an exploit technique exists, but no deterministic check could cover this one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-20 19:01Zghsa: trigger signal, started the run
- 2026-10-20 19:01Z
this entry in the feed
GET /api/v1/feed/ETK-2026-2219
{ "etk_id": "ETK-2026-2219", "cve_id": null, "display_id": "ETK-2026-2219", "ghsa_id": "GHSA-jqc8-qjfv-5m6r", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "Arbitrary code execution in numcodecs Pickle decoding", "summary": "Affected numcodecs releases can invoke attacker-controlled code while reading array data that selects the Pickle codec. An attacker must be able to supply or alter array metadata and chunk content that the application reads, such as through an untrusted dataset or remote array source.", "mitigation": "Upgrade numcodecs to 0.17.1, 0.16.6, or 0.15.2, selecting the applicable maintained release line. Until upgraded, do not read untrusted arrays or array data from untrusted remote sources.", "vendor": "pip", "product": "pip:numcodecs", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 0.17.0, < 0.17.1" ], "ecosystem": "pip", "fixed_versions": [ "0.17.1" ], "package_name": "numcodecs", "purl": "pkg:pypi/numcodecs" }, { "affected_notes": [], "affected_ranges": [ ">= 0.16.0, < 0.16.6" ], "ecosystem": "pip", "fixed_versions": [ "0.16.6" ], "package_name": "numcodecs", "purl": "pkg:pypi/numcodecs" }, { "affected_notes": [], "affected_ranges": [ ">= 0.1.0, < 0.15.2" ], "ecosystem": "pip", "fixed_versions": [ "0.15.2" ], "package_name": "numcodecs", "purl": "pkg:pypi/numcodecs" } ], "cwes": [ 502 ], "cvss_score": 8.8, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": false, "check_confidence_basis": null, "exploit": false, "pipeline_minutes": 10.52185185, "t0_at": null, "signals": { "public_poc": { "at": "2026-10-20T19:01:32+00:00", "days": -0.5036013128472222, "is_lower_bound": true, "measured_at": "2026-10-21T07:06:43.223764+00:00", "url": "https://github.com/zarr-developers/numcodecs/security/advisories/GHSA-jqc8-qjfv-5m6r" }, "trigger_signal": { "at": "2026-10-20T19:01:32+00:00", "days": -0.5036013128472222, "is_lower_bound": true, "measured_at": "2026-10-21T07:06:43.223764+00:00", "url": "https://github.com/zarr-developers/numcodecs/security/advisories/GHSA-jqc8-qjfv-5m6r" } } }
published 2026-10-20 20:39Z
last change 2026-10-21 07:05Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.