# SBOM for pdq 0.1.0

> Fast Parquet Data Query using FST-based indices

The Python package pdq 0.1.0 ships 5 SBOM files (CycloneDX) inside its wheels, under `.dist-info/sboms/` ([PEP 770](https://peps.python.org/pep-0770/)). Its wheels carry a verified PEP 740 attestation.

- Package URL (PURL): `pkg:pypi/pdq@0.1.0`
- PyPI: https://pypi.org/project/pdq/0.1.0/
- Requires Python: \>=3.10
- Homepage: <https://github.com/erichutchins/pdq>
- Issues: <https://github.com/erichutchins/pdq/issues>
- Repository: <https://github.com/erichutchins/pdq>

## SBOMs

### pdq-0.1.0-cp310-abi3-macosx\_10\_12\_x86\_64.whl

PEP 740 attestation verified (GitHub, erichutchins/pdq, workflow release.yml).

- [pdq-0.1.0.dist-info/sboms/pdq.cyclonedx.json](https://pypi.sbomify.com/artifact/9b18157d-6eb1-576c-81e4-ee4416df625b/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 26 known vulnerabilities

### pdq-0.1.0-cp310-abi3-macosx\_11\_0\_arm64.whl

PEP 740 attestation verified (GitHub, erichutchins/pdq, workflow release.yml).

- [pdq-0.1.0.dist-info/sboms/pdq.cyclonedx.json](https://pypi.sbomify.com/artifact/b36013df-1814-5b38-8d52-5509356f4333/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 26 known vulnerabilities

### pdq-0.1.0-cp310-abi3-manylinux\_2\_17\_aarch64.manylinux2014\_aarch64.whl

PEP 740 attestation verified (GitHub, erichutchins/pdq, workflow release.yml).

- [pdq-0.1.0.dist-info/sboms/pdq.cyclonedx.json](https://pypi.sbomify.com/artifact/826cc18a-70f2-54b0-8b24-622df9d57671/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 26 known vulnerabilities

### pdq-0.1.0-cp310-abi3-manylinux\_2\_17\_x86\_64.manylinux2014\_x86\_64.whl

PEP 740 attestation verified (GitHub, erichutchins/pdq, workflow release.yml).

- [pdq-0.1.0.dist-info/sboms/pdq.cyclonedx.json](https://pypi.sbomify.com/artifact/1f79e3f9-e5fb-5c04-81de-8e5b7ab085cd/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 26 known vulnerabilities

### pdq-0.1.0-cp310-abi3-win\_amd64.whl

PEP 740 attestation verified (GitHub, erichutchins/pdq, workflow release.yml).

- [pdq-0.1.0.dist-info/sboms/pdq.cyclonedx.json](https://pypi.sbomify.com/artifact/2030db0f-a84a-523e-b3ec-bb0da6539b9a/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 26 known vulnerabilities

## Known vulnerabilities

Components listed in these SBOMs, matched against the [OSV database](https://osv.dev/) as of 2026-11-09.

| Vulnerability | Severity | Component | Fixed in | Summary |
|---|---|---|---|---|
| [RUSTSEC-2026-0176](https://osv.dev/vulnerability/RUSTSEC-2026-0176) | high (8.7) | pyo3 0.28.3 (crates.io) | 0.29.0 | Out-of-bounds read in \`nth\` / \`nth\_back\` for \`PyList\` and \`PyTuple\` iterators |
| [CVE-2026-43868](https://insights.sbomify.com/CVE-2026-43868/) | high (7.5) | thrift 0.17.0 (crates.io) | 0.23.0 | Unbounded memory allocation in \`thrift\` binary protocol \`read\_bytes\` |
| [RUSTSEC-2026-0177](https://osv.dev/vulnerability/RUSTSEC-2026-0177) | medium (6.3) | pyo3 0.28.3 (crates.io) | 0.29.0 | Missing \`Sync\` bound on \`PyCFunction::new\_closure\` closures |
| [CVE-2026-25541](https://insights.sbomify.com/CVE-2026-25541/) | medium (5.5) | bytes 1.11.0 (crates.io) | 1.11.1 | Integer overflow in \`BytesMut::reserve\` |
| [RUSTSEC-2026-0190](https://osv.dev/vulnerability/RUSTSEC-2026-0190) | unknown | anyhow 1.0.100 (crates.io) | 1.0.103 | Unsoundness in \`Error::downcast\_mut()\` |
| [CVE-2026-111959](https://insights.sbomify.com/CVE-2026-111959/) | unknown | arrow-data 58.3.0 (crates.io) | 58.4.1 | Apache Arrow Rust: Improper validation of RunEndEncoded arrays allows out of bounds reads |
| [RUSTSEC-2026-0204](https://osv.dev/vulnerability/RUSTSEC-2026-0204) | unknown | crossbeam-epoch 0.9.18 (crates.io) | 0.9.20 | Invalid pointer dereference in \`fmt::Pointer\` impl for \`Atomic\` and \`Shared\` when the underlying pointer is invalid |
| [RUSTSEC-2026-0186](https://osv.dev/vulnerability/RUSTSEC-2026-0186) | unknown | memmap2 0.9.9 (crates.io) | 0.9.11 | Unchecked pointer offset in crate \`memmap2\` |
| [RUSTSEC-2024-0436](https://osv.dev/vulnerability/RUSTSEC-2024-0436) | unknown | paste 1.0.15 (crates.io) | none listed | paste - no longer maintained |
| [RUSTSEC-2026-0441](https://osv.dev/vulnerability/RUSTSEC-2026-0441) | unknown | pin-utils 0.1.0 (crates.io) | none listed | \`pin-utils\` is unmaintained |
| [RUSTSEC-2026-0097](https://osv.dev/vulnerability/RUSTSEC-2026-0097) | unknown | rand 0.9.2 (crates.io) | 0.9.3 | Rand is unsound with a custom logger using \`rand::rng()\` |
| [RUSTSEC-2026-0386](https://osv.dev/vulnerability/RUSTSEC-2026-0386) | unknown | tokio 1.52.3 (crates.io) | 1.53.3 | \`AsyncFd::new\` and related constructors violate I/O safety |
| [RUSTSEC-2026-0391](https://osv.dev/vulnerability/RUSTSEC-2026-0391) | unknown | zstd 0.13.3 (crates.io) | 0.13.4 | Data from an abandoned stream leaks into the next stream on a reused context |
| [RUSTSEC-2026-0395](https://osv.dev/vulnerability/RUSTSEC-2026-0395) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Use-after-free with \`CParameter::StableInBuffer\` |
| [RUSTSEC-2026-0396](https://osv.dev/vulnerability/RUSTSEC-2026-0396) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | \`Seekable\` reads a NULL or out-of-bounds seek table |
| [RUSTSEC-2026-0397](https://osv.dev/vulnerability/RUSTSEC-2026-0397) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | \`OutBuffer::around\_pos\` exposes uninitialized memory |
| [RUSTSEC-2026-0398](https://osv.dev/vulnerability/RUSTSEC-2026-0398) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | \`Seekable::decompress\` sets a \`Vec\` length beyond its capacity for offsets past the end |
| [RUSTSEC-2026-0399](https://osv.dev/vulnerability/RUSTSEC-2026-0399) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Use-after-free through \`init\_using\_cdict\` and \`init\_using\_ddict\` |
| [RUSTSEC-2026-0400](https://osv.dev/vulnerability/RUSTSEC-2026-0400) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Use-after-free of a dictionary after a one-shot call on a context with an open stream |
| [RUSTSEC-2026-0401](https://osv.dev/vulnerability/RUSTSEC-2026-0401) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Out-of-bounds read in \`train\_from\_buffer\` when sample sizes overflow |
| [RUSTSEC-2026-0402](https://osv.dev/vulnerability/RUSTSEC-2026-0402) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Heap buffer overflow in \`CCtx::try\_clone\` on a multithreaded context |
| [RUSTSEC-2026-0403](https://osv.dev/vulnerability/RUSTSEC-2026-0403) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Uninitialized memory exposed when streaming decompression of a legacy frame fails |
| [RUSTSEC-2026-0404](https://osv.dev/vulnerability/RUSTSEC-2026-0404) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Double free in \`DCtx::try\_clone\` |
| [RUSTSEC-2026-0405](https://osv.dev/vulnerability/RUSTSEC-2026-0405) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Out-of-bounds read with an out-of-range \`InBuffer::pos\` |
| [RUSTSEC-2026-0406](https://osv.dev/vulnerability/RUSTSEC-2026-0406) | unknown | zstd-safe 7.2.4 (crates.io) | 7.4.0 | Use-after-free when changing a multithreaded context with an unfinished frame |
| [RUSTSEC-2026-0410](https://osv.dev/vulnerability/RUSTSEC-2026-0410) | unknown | zstd-sys 2.0.16+zstd.1.5.7 (crates.io) | 2.1.2 | WebAssembly allocator shim corrupts memory on allocation failure |

## Fetch it over TEA

This SBOM is served over the [Transparency Exchange API](https://github.com/CycloneDX/transparency-exchange-api) (TEA). With the `libtea` client:

```
pip install libtea
python -m libtea https://pypi.sbomify.com pkg:pypi/pdq@0.1.0
```

Machine-readable copy of this page: https://pypi.sbomify.com/package/pdq/0.1.0.json

---
From pypi-tea by sbomify: https://pypi.sbomify.com/package/pdq/0.1.0