# SBOM for ddapi 2.0.3

> Async Python bindings for the DDNet and DDStats APIs (Teeworlds)

The Python package ddapi 2.0.3 ships 1 SBOM file (CycloneDX) inside its wheels, under `.dist-info/sboms/` ([PEP 770](https://peps.python.org/pep-0770/)).

- Package URL (PURL): `pkg:pypi/ddapi@2.0.3`
- PyPI: https://pypi.org/project/ddapi/2.0.3/
- Requires Python: \>=3.8
- Repository: <https://github.com/ByFox213/ddapi-rs>

## SBOMs

### ddapi-2.0.3-cp38-abi3-manylinux\_2\_38\_x86\_64.whl

- [ddapi-2.0.3.dist-info/sboms/ddapi-rs.cyclonedx.json](https://pypi.sbomify.com/artifact/7e15f462-4513-5c5e-bf44-8ab7dfc2ea10/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 31 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-2026-3336](https://insights.sbomify.com/CVE-2026-3336/) | high (8.7) | aws-lc-sys 0.37.1 (crates.io) | 0.38.0 | PKCS7\_verify Certificate Chain Validation Bypass in AWS-LC |
| [GHSA-36hh-v3qg-5jq4](https://osv.dev/vulnerability/GHSA-36hh-v3qg-5jq4) | high (8.7) | pyo3 0.20.3 (crates.io) | 0.29.0 | PyO3 has an Out-of-bounds Read in \`nth\` / \`nth\_back\` for \`PyList\` and \`PyTuple\` iterators |
| [CVE-2026-31812](https://insights.sbomify.com/CVE-2026-31812/) | high (8.7) | quinn-proto 0.11.13 (crates.io) | 0.11.14 | Denial of service in Quinn endpoints |
| [CVE-2026-3337](https://insights.sbomify.com/CVE-2026-3337/) | high (8.2) | aws-lc-sys 0.37.1 (crates.io) | 0.38.0 | Timing Side-Channel in AES-CCM Tag Verification in AWS-LC |
| [RUSTSEC-2026-0044](https://osv.dev/vulnerability/RUSTSEC-2026-0044) | high (8.2) | aws-lc-sys 0.37.1 (crates.io) | 0.39.0 | AWS-LC X.509 Name Constraints Bypass via Wildcard/Unicode CN |
| [CVE-2026-3338](https://insights.sbomify.com/CVE-2026-3338/) | high (7.5) | aws-lc-sys 0.37.1 (crates.io) | 0.38.0 | PKCS7\_verify Signature Validation Bypass in AWS-LC |
| [CVE-2026-25800](https://insights.sbomify.com/CVE-2026-25800/) | high (7.5) | quinn-proto 0.11.13 (crates.io) | 0.11.15 | Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly |
| [RUSTSEC-2026-0340](https://osv.dev/vulnerability/RUSTSEC-2026-0340) | high (7.5) | quinn-proto 0.11.13 (crates.io) | 0.11.18 | Peer minimum ACK delay can panic quinn-proto when ACK\_FREQUENCY transmission is enabled |
| [CVE-2026-93599](https://insights.sbomify.com/CVE-2026-93599/) | high (7.5) | rustls-webpki 0.103.8 (crates.io) | 0.103.13 | Reachable panic in certificate revocation list parsing |
| [CVE-2026-4428](https://insights.sbomify.com/CVE-2026-4428/) | high (7.4) | aws-lc-sys 0.37.1 (crates.io) | 0.39.0 | CRL Distribution Point Scope Check Logic Error in AWS-LC |
| [RUSTSEC-2026-0177](https://osv.dev/vulnerability/RUSTSEC-2026-0177) | medium (6.3) | pyo3 0.20.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.10.1 (crates.io) | 1.11.1 | Integer overflow in \`BytesMut::reserve\` |
| [CVE-2026-123613](https://insights.sbomify.com/CVE-2026-123613/) | medium (5.3) | rustls 0.23.34 (crates.io) | 0.23.45 | TLS 1.3 handshake messages incorrectly accepted across encryption level boundaries |
| [CVE-2026-93602](https://insights.sbomify.com/CVE-2026-93602/) | medium (4.4) | rustls-webpki 0.103.8 (crates.io) | 0.103.10 | CRLs not considered authoritative by Distribution Point due to faulty matching logic |
| [CVE-2026-123609](https://insights.sbomify.com/CVE-2026-123609/) | medium (4.0) | rustls 0.23.34 (crates.io) | 0.23.46 | \`Debug\` impls for client session values expose TLS secrets |
| [CVE-2026-123610](https://insights.sbomify.com/CVE-2026-123610/) | low (3.7) | rustls 0.23.34 (crates.io) | 0.23.46 | Brotli certificate decompression can allocate up to 1 GiB before authentication |
| [CVE-2026-123611](https://insights.sbomify.com/CVE-2026-123611/) | low (3.7) | rustls 0.23.34 (crates.io) | 0.23.46 | Unauthenticated ServerHello can downgrade later connections to classical key exchange |
| [RUSTSEC-2025-0020](https://osv.dev/vulnerability/RUSTSEC-2025-0020) | low (2.9) | pyo3 0.20.3 (crates.io) | 0.24.1 | Risk of buffer overflow in \`PyString::from\_object\` |
| [CVE-2026-93600](https://insights.sbomify.com/CVE-2026-93600/) | low (2.2) | rustls-webpki 0.103.8 (crates.io) | 0.103.12 | Name constraints for URI names were incorrectly accepted |
| [CVE-2026-93601](https://insights.sbomify.com/CVE-2026-93601/) | low (2.2) | rustls-webpki 0.103.8 (crates.io) | 0.103.12 | Name constraints were accepted for certificates asserting a wildcard name |
| [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-0221](https://osv.dev/vulnerability/RUSTSEC-2026-0221) | unknown | event-listener 5.4.1 (crates.io) | 5.4.2 | \`event-listener\` allows \`!Send\` tags to cross thread boundaries via \`StackSlot\` |
| [RUSTSEC-2026-0258](https://osv.dev/vulnerability/RUSTSEC-2026-0258) | unknown | h2 0.4.12 (crates.io) | 0.4.16 | h2 unbounded empty DATA frames |
| [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-0338](https://osv.dev/vulnerability/RUSTSEC-2026-0338) | unknown | quinn-proto 0.11.13 (crates.io) | 0.11.18 | Remote peer can panic quinn-proto with zero-length STREAM frames during unordered reads |
| [RUSTSEC-2026-0339](https://osv.dev/vulnerability/RUSTSEC-2026-0339) | unknown | quinn-proto 0.11.13 (crates.io) | 0.11.17 | Unbounded growth of pending connection ID retirements in quinn-proto |
| [RUSTSEC-2026-0342](https://osv.dev/vulnerability/RUSTSEC-2026-0342) | unknown | quinn-proto 0.11.13 (crates.io) | 0.11.17 | Zero-length DATAGRAM frames bypass the receive buffer limit in quinn-proto |
| [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()\` |
| [CVE-2026-111943](https://insights.sbomify.com/CVE-2026-111943/) | unknown | rustls-webpki 0.103.8 (crates.io) | 0.103.16 | Certificate verification may accept distrusted intermediates |
| [RUSTSEC-2026-0386](https://osv.dev/vulnerability/RUSTSEC-2026-0386) | unknown | tokio 1.49.0 (crates.io) | 1.51.6 | \`AsyncFd::new\` and related constructors violate I/O safety |
| [CVE-2026-111943](https://insights.sbomify.com/CVE-2026-111943/) | unknown | webpki-root-certs 1.0.6 (crates.io) | 1.0.10 | Bundled root certificates allow trust in distrusted emSign intermediates |

## 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/ddapi@2.0.3
```

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

---
From pypi-tea by sbomify: https://pypi.sbomify.com/package/ddapi/2.0.3