# SBOM for solders 0.29.0

> Python bindings for Solana Rust tools

The Python package solders 0.29.0 ships 6 SBOM files (CycloneDX) inside its wheels, under `.dist-info/sboms/` ([PEP 770](https://peps.python.org/pep-0770/)).

- Package URL (PURL): `pkg:pypi/solders@0.29.0`
- PyPI: https://pypi.org/project/solders/0.29.0/
- Requires Python: \<4.0,\>=3.10
- changelog: <https://github.com/kevinheavey/solders/blob/main/CHANGELOG.md>
- documentation: <https://kevinheavey.github.io/solders/>
- homepage: <https://github.com/kevinheavey/solders>
- repository: <https://github.com/kevinheavey/solders>

## SBOMs

### solders-0.29.0-cp310-abi3-macosx\_10\_12\_x86\_64.macosx\_11\_0\_arm64.macosx\_10\_12\_universal2.whl

- [solders-0.29.0.dist-info/sboms/solders.cyclonedx.json](https://pypi.sbomify.com/artifact/2100ed14-e3cd-512f-8106-e8245e3c6233/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 34 known vulnerabilities

### solders-0.29.0-cp310-abi3-manylinux\_2\_17\_x86\_64.manylinux2014\_x86\_64.whl

- [solders-0.29.0.dist-info/sboms/solders.cyclonedx.json](https://pypi.sbomify.com/artifact/b693c60d-7ede-5402-8338-1f4ef5493e99/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 34 known vulnerabilities

### solders-0.29.0-cp310-abi3-manylinux\_2\_28\_aarch64.whl

- [solders-0.29.0.dist-info/sboms/solders.cyclonedx.json](https://pypi.sbomify.com/artifact/8c9a8f19-b902-50f3-87e0-cd4328e5e338/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 34 known vulnerabilities

### solders-0.29.0-cp310-abi3-musllinux\_1\_2\_aarch64.whl

- [solders-0.29.0.dist-info/sboms/solders.cyclonedx.json](https://pypi.sbomify.com/artifact/cd7ce9e5-0faa-5ec8-9931-37a8a721ee12/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 34 known vulnerabilities

### solders-0.29.0-cp310-abi3-musllinux\_1\_2\_x86\_64.whl

- [solders-0.29.0.dist-info/sboms/solders.cyclonedx.json](https://pypi.sbomify.com/artifact/9ab1b2c2-cd2a-5c50-aee2-c09ef7613297/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 34 known vulnerabilities

### solders-0.29.0-cp310-abi3-win\_amd64.whl

- [solders-0.29.0.dist-info/sboms/solders.cyclonedx.json](https://pypi.sbomify.com/artifact/90cc96a3-0ed3-51e7-ac85-ffa007d12efa/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 34 known vulnerabilities

## Known vulnerabilities

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

| Vulnerability | Severity | Component | Fixed in | Summary |
|---|---|---|---|---|
| [CVE-2022-50237](https://insights.sbomify.com/CVE-2022-50237/) | medium (5.9) | ed25519-dalek 1.0.1 (crates.io) | 2.0.0 | Double Public Key Signing Function Oracle Attack on \`ed25519-dalek\` |
| [CVE-2024-58262](https://insights.sbomify.com/CVE-2024-58262/) | low (2.9) | curve25519-dalek 3.2.0 (crates.io) | 4.1.3 | Timing variability in \`curve25519-dalek\`'s \`Scalar29::sub\`/\`Scalar52::sub\` |
| [RUSTSEC-2021-0139](https://osv.dev/vulnerability/RUSTSEC-2021-0139) | unknown | ansi\_term 0.12.1 (crates.io) | none listed | ansi\_term is Unmaintained |
| [RUSTSEC-2025-0141](https://osv.dev/vulnerability/RUSTSEC-2025-0141) | unknown | bincode 1.3.3 (crates.io) | none listed | Bincode is unmaintained |
| [RUSTSEC-2026-0387](https://osv.dev/vulnerability/RUSTSEC-2026-0387) | unknown | crypto-bigint 0.5.5 (crates.io) | 0.7.6 | Multiple timing variability issues in operations intended to be constant-time |
| [RUSTSEC-2026-0385](https://osv.dev/vulnerability/RUSTSEC-2026-0385) | unknown | ctutils 0.4.2 (crates.io) | 0.4.4 | Non-constant-time mask generation and \`u128\` comparisons |
| [RUSTSEC-2024-0388](https://osv.dev/vulnerability/RUSTSEC-2024-0388) | unknown | derivative 2.2.0 (crates.io) | none listed | \`derivative\` is unmaintained; consider using an alternative |
| [RUSTSEC-2025-0161](https://osv.dev/vulnerability/RUSTSEC-2025-0161) | unknown | libsecp256k1 0.7.2 (crates.io) | none listed | libsecp256k1 is unmaintained |
| [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-0097](https://osv.dev/vulnerability/RUSTSEC-2026-0097) | unknown | rand 0.7.3 (crates.io) | 0.8.6 | Rand is unsound with a custom logger using \`rand::rng()\` |
| [RUSTSEC-2021-0127](https://osv.dev/vulnerability/RUSTSEC-2021-0127) | unknown | serde\_cbor 0.11.2 (crates.io) | none listed | serde\_cbor is unmaintained |
| [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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | Use-after-free with \`CParameter::StableInBuffer\` |
| [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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | \`OutBuffer::around\_pos\` exposes uninitialized memory |
| [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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | Use-after-free through \`init\_using\_cdict\` and \`init\_using\_ddict\` |
| [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 5.0.2+zstd.1.5.2 (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-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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | Out-of-bounds read in \`train\_from\_buffer\` when sample sizes overflow |
| [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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | Heap buffer overflow in \`CCtx::try\_clone\` on a multithreaded context |
| [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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | Uninitialized memory exposed when streaming decompression of a legacy frame fails |
| [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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | Double free in \`DCtx::try\_clone\` |
| [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 5.0.2+zstd.1.5.2 (crates.io) | 7.4.0 | Use-after-free when changing a multithreaded context with an unfinished frame |
| [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/solders@0.29.0
```

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

---
From pypi-tea by sbomify: https://pypi.sbomify.com/package/solders/0.29.0