# SBOM for cello-framework 1.4.1

> Ultra-fast Rust-powered Python async web framework

The Python package cello-framework 1.4.1 ships 4 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/cello-framework@1.4.1`
- PyPI: https://pypi.org/project/cello-framework/1.4.1/
- Author: Jagadeesh Katla
- License: MIT
- Requires Python: \>=3.12
- Documentation: <https://cello.lineupcode.com/>
- Homepage: <https://github.com/jagadeesh32/cello>
- Repository: <https://github.com/jagadeesh32/cello>

## SBOMs

### cello\_framework-1.4.1-cp312-abi3-macosx\_11\_0\_arm64.whl

PEP 740 attestation verified (GitHub, jagadeesh32/cello, workflow publish.yml).

- [cello\_framework-1.4.1.dist-info/sboms/cello-framework.cyclonedx.json](https://pypi.sbomify.com/artifact/658f4050-c9cd-5af2-a50b-142dbc90abd1/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 36 known vulnerabilities

### cello\_framework-1.4.1-cp312-abi3-manylinux\_2\_17\_x86\_64.manylinux2014\_x86\_64.whl

PEP 740 attestation verified (GitHub, jagadeesh32/cello, workflow publish.yml).

- [cello\_framework-1.4.1.dist-info/sboms/cello-framework.cyclonedx.json](https://pypi.sbomify.com/artifact/8574e3da-7588-5aa5-839a-e6495581cf13/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 36 known vulnerabilities

### cello\_framework-1.4.1-cp312-abi3-manylinux\_2\_28\_aarch64.whl

PEP 740 attestation verified (GitHub, jagadeesh32/cello, workflow publish.yml).

- [cello\_framework-1.4.1.dist-info/sboms/cello-framework.cyclonedx.json](https://pypi.sbomify.com/artifact/fd0cea0e-b190-587f-be78-e16ee7b3c2ee/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 36 known vulnerabilities

### cello\_framework-1.4.1-cp312-abi3-win\_amd64.whl

PEP 740 attestation verified (GitHub, jagadeesh32/cello, workflow publish.yml).

- [cello\_framework-1.4.1.dist-info/sboms/cello-framework.cyclonedx.json](https://pypi.sbomify.com/artifact/74111df4-23e5-50b4-9aa6-60b5a99f5cb1/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 36 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 |
|---|---|---|---|---|
| [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.10.6 (crates.io) | 0.11.14 | Denial of service in Quinn endpoints |
| [RUSTSEC-2026-0194](https://osv.dev/vulnerability/RUSTSEC-2026-0194) | high (7.5) | quick-xml 0.31.0 (crates.io) | 0.41.0 | Quadratic run time when checking a start tag for duplicate attribute names |
| [RUSTSEC-2026-0195](https://osv.dev/vulnerability/RUSTSEC-2026-0195) | high (7.5) | quick-xml 0.31.0 (crates.io) | 0.41.0 | Unbounded namespace-declaration allocation in \`NsReader\` enables memory-exhaustion denial of service |
| [CVE-2026-25800](https://insights.sbomify.com/CVE-2026-25800/) | high (7.5) | quinn-proto 0.10.6 (crates.io) | 0.11.15 | Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly |
| [CVE-2026-93599](https://insights.sbomify.com/CVE-2026-93599/) | high (7.5) | rustls-webpki 0.101.7 (crates.io) | 0.103.13 | Reachable panic in certificate revocation list parsing |
| [CVE-2026-93599](https://insights.sbomify.com/CVE-2026-93599/) | high (7.5) | rustls-webpki 0.102.8 (crates.io) | 0.103.13 | Reachable panic in certificate revocation list parsing |
| [CVE-2025-53605](https://insights.sbomify.com/CVE-2025-53605/) | medium (6.6) | protobuf 2.28.0 (crates.io) | 3.7.2 | Crash due to uncontrolled recursion in protobuf crate |
| [CVE-2025-4432](https://insights.sbomify.com/CVE-2025-4432/) | medium (6.6) | ring 0.16.20 (crates.io) | 0.17.12 | Some AES functions may panic when overflow checking is enabled. |
| [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-115567](https://insights.sbomify.com/CVE-2026-115567/) | medium (5.8) | tokio 1.54.0 (crates.io) | 1.54.1 | Race condition in \`tokio::time::Interval\` on Tokio v1.54.0 |
| [CVE-2026-25537](https://insights.sbomify.com/CVE-2026-25537/) | medium (5.5) | jsonwebtoken 9.3.1 (crates.io) | 10.3.0 | jsonwebtoken has Type Confusion that leads to potential authorization bypass |
| [CVE-2026-48504](https://insights.sbomify.com/CVE-2026-48504/) | medium (5.3) | opentelemetry\_sdk 0.21.2 (crates.io) | 0.32.1 | opentelemetry\_sdk has unbounded memory allocation in W3C Baggage propagation |
| [CVE-2026-93602](https://insights.sbomify.com/CVE-2026-93602/) | medium (4.4) | rustls-webpki 0.102.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.21.12 (crates.io) | 0.23.46 | \`Debug\` impls for client session values expose TLS secrets |
| [CVE-2026-123609](https://insights.sbomify.com/CVE-2026-123609/) | medium (4.0) | rustls 0.22.4 (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.21.12 (crates.io) | 0.23.46 | Rustls: Brotli certificate decompression can allocate an attacker-controlled amount of memory up to 1 GiB before authentication. |
| [CVE-2026-123610](https://insights.sbomify.com/CVE-2026-123610/) | low (3.7) | rustls 0.22.4 (crates.io) | 0.23.46 | Rustls: Brotli certificate decompression can allocate an attacker-controlled amount of memory up to 1 GiB before authentication. |
| [CVE-2026-123611](https://insights.sbomify.com/CVE-2026-123611/) | low (3.7) | rustls 0.21.12 (crates.io) | 0.23.46 | Unauthenticated ServerHello can downgrade later connections to classical key exchange |
| [CVE-2026-123611](https://insights.sbomify.com/CVE-2026-123611/) | low (3.7) | rustls 0.22.4 (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.101.7 (crates.io) | 0.103.12 | Name constraints for URI names were incorrectly accepted |
| [CVE-2026-93600](https://insights.sbomify.com/CVE-2026-93600/) | low (2.2) | rustls-webpki 0.102.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.101.7 (crates.io) | 0.103.12 | Name constraints were accepted for certificates asserting a wildcard name |
| [CVE-2026-93601](https://insights.sbomify.com/CVE-2026-93601/) | low (2.2) | rustls-webpki 0.102.8 (crates.io) | 0.103.12 | Name constraints were accepted for certificates asserting a wildcard name |
| [RUSTSEC-2026-0385](https://osv.dev/vulnerability/RUSTSEC-2026-0385) | unknown | ctutils 0.4.3 (crates.io) | 0.4.4 | Non-constant-time mask generation and \`u128\` comparisons |
| [RUSTSEC-2026-0258](https://osv.dev/vulnerability/RUSTSEC-2026-0258) | unknown | h2 0.3.27 (crates.io) | 0.4.16 | h2 unbounded empty DATA frames |
| [RUSTSEC-2026-0338](https://osv.dev/vulnerability/RUSTSEC-2026-0338) | unknown | quinn-proto 0.10.6 (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.10.6 (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.10.6 (crates.io) | 0.11.17 | Zero-length DATAGRAM frames bypass the receive buffer limit in quinn-proto |
| [RUSTSEC-2025-0010](https://osv.dev/vulnerability/RUSTSEC-2025-0010) | unknown | ring 0.16.20 (crates.io) | 0.17.0 | Versions of \*ring\* prior to 0.17 are unmaintained. |
| [RUSTSEC-2025-0134](https://osv.dev/vulnerability/RUSTSEC-2025-0134) | unknown | rustls-pemfile 1.0.4 (crates.io) | none listed | rustls-pemfile is unmaintained |
| [RUSTSEC-2025-0134](https://osv.dev/vulnerability/RUSTSEC-2025-0134) | unknown | rustls-pemfile 2.2.0 (crates.io) | none listed | rustls-pemfile is unmaintained |
| [CVE-2026-111943](https://insights.sbomify.com/CVE-2026-111943/) | unknown | rustls-webpki 0.101.7 (crates.io) | 0.103.16 | Certificate verification may accept distrusted intermediates |
| [CVE-2026-111943](https://insights.sbomify.com/CVE-2026-111943/) | unknown | rustls-webpki 0.102.8 (crates.io) | 0.103.16 | Certificate verification may accept distrusted intermediates |
| [CVE-2026-111943](https://insights.sbomify.com/CVE-2026-111943/) | unknown | webpki-roots 0.25.4 (crates.io) | 0.26.11 | 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/cello-framework@1.4.1
```

Machine-readable copy of this page: https://pypi.sbomify.com/package/cello-framework/1.4.1.json

---
From pypi-tea by sbomify: https://pypi.sbomify.com/package/cello-framework/1.4.1