{"url":"https://pypi.sbomify.com/package/pyspiral/0.16.33","markdown_url":"https://pypi.sbomify.com/package/pyspiral/0.16.33.md","name":"pyspiral","version":"0.16.33","purl":"pkg:pypi/pyspiral@0.16.33","summary":"Python client for Spiral.","author":null,"project_urls":{"Homepage":"https://spiraldb.com"},"requires_python":">=3.11","license":"Proprietary License","classifiers":["Intended Audience :: Science/Research","License :: Other/Proprietary License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Rust"],"wheels":[{"filename":"pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","url":"https://files.pythonhosted.org/packages/99/fe/4dfe30304cd10ecd49b52e6a3b217e25e82c4646ab2dc0f2150c749fbdb0/pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","sboms":[{"artifact_uuid":"14b35269-f157-5a4a-86e5-5bc111262b55","path":"pyspiral-0.16.33.dist-info/sboms/pyspiral.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/14b35269-f157-5a4a-86e5-5bc111262b55/download","vulnerability_count":52,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","url":"https://files.pythonhosted.org/packages/ac/53/9f0cbe798684d4177b92a6e156ffb7377afc9210e4001635cfa14440271d/pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","sboms":[{"artifact_uuid":"b49ce064-0de7-543a-b5e1-be6ff42974cf","path":"pyspiral-0.16.33.dist-info/sboms/pyspiral.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/b49ce064-0de7-543a-b5e1-be6ff42974cf/download","vulnerability_count":52,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl","url":"https://files.pythonhosted.org/packages/ad/99/cc2976bdb3a1c7aee7dee220882248beee8dd37625e48861c951596aae7b/pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl","sboms":[{"artifact_uuid":"be9891aa-8ad5-5206-a591-a21b39727877","path":"pyspiral-0.16.33.dist-info/sboms/pyspiral.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/be9891aa-8ad5-5206-a591-a21b39727877/download","vulnerability_count":52,"scan_error":null}],"attestation":{"status":"not_available"}}],"formats":["CycloneDX"],"sbom_count":3,"has_attestation":false,"vulnerabilities":[{"id":"RUSTSEC-2026-0414","aliases":[],"summary":"Exponential event growth with `ENABLE_WIKILINKS`","severity":"high","score":7.5,"package":"pulldown-cmark","version":"0.13.4","ecosystem":"crates.io","purl":"pkg:cargo/pulldown-cmark@0.13.4","fixed":["0.13.5"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0414","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0433","aliases":[],"summary":"Quadratic parsing of nested image wikilinks with `ENABLE_WIKILINKS`","severity":"high","score":7.5,"package":"pulldown-cmark","version":"0.13.4","ecosystem":"crates.io","purl":"pkg:cargo/pulldown-cmark@0.13.4","fixed":["0.13.6"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0433","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0194","aliases":[],"summary":"Quadratic run time when checking a start tag for duplicate attribute names","severity":"high","score":7.5,"package":"quick-xml","version":"0.39.4","ecosystem":"crates.io","purl":"pkg:cargo/quick-xml@0.39.4","fixed":["0.41.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0194","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0195","aliases":[],"summary":"Unbounded namespace-declaration allocation in `NsReader` enables memory-exhaustion denial of service","severity":"high","score":7.5,"package":"quick-xml","version":"0.39.4","ecosystem":"crates.io","purl":"pkg:cargo/quick-xml@0.39.4","fixed":["0.41.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0195","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0340","aliases":["GHSA-3g6h-r5qx-f6hq"],"summary":"Peer minimum ACK delay can panic quinn-proto when ACK_FREQUENCY transmission is enabled","severity":"high","score":7.5,"package":"quinn-proto","version":"0.11.17","ecosystem":"crates.io","purl":"pkg:cargo/quinn-proto@0.11.17","fixed":["0.11.18"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0340","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0343","aliases":["GHSA-ppcp-v39w-8jq2"],"summary":"Outgoing datagram buffer accounting can panic the sender in quinn-proto","severity":"high","score":7.5,"package":"quinn-proto","version":"0.11.17","ecosystem":"crates.io","purl":"pkg:cargo/quinn-proto@0.11.17","fixed":["0.11.18"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0343","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-119375","aliases":["GHSA-72w2-rjgg-q729","RUSTSEC-2026-0459"],"summary":"`libsqlite3-sys` via C SQLite CVE-2026-119375","severity":"medium","score":6.8,"package":"libsqlite3-sys","version":"0.37.0","ecosystem":"crates.io","purl":"pkg:cargo/libsqlite3-sys@0.37.0","fixed":["0.39.0"],"url":"https://insights.sbomify.com/CVE-2026-119375/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2023-49092","aliases":["GHSA-4grx-2x9w-596c","GHSA-c38w-74pg-36hr","RUSTSEC-2023-0071"],"summary":"Marvin Attack: potential key recovery through timing sidechannels","severity":"medium","score":5.9,"package":"rsa","version":"0.9.10","ecosystem":"crates.io","purl":"pkg:cargo/rsa@0.9.10","fixed":["0.10.0"],"url":"https://insights.sbomify.com/CVE-2023-49092/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-123609","aliases":["GHSA-c8m5-c952-6cm4","RUSTSEC-2026-0346"],"summary":"`Debug` impls for client session values expose TLS secrets","severity":"medium","score":4.0,"package":"rustls","version":"0.23.45","ecosystem":"crates.io","purl":"pkg:cargo/rustls@0.23.45","fixed":["0.23.46"],"url":"https://insights.sbomify.com/CVE-2026-123609/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-123610","aliases":["GHSA-h2v8-394m-p7vv","RUSTSEC-2026-0348"],"summary":"Brotli certificate decompression can allocate up to 1 GiB before authentication","severity":"low","score":3.7,"package":"rustls","version":"0.23.45","ecosystem":"crates.io","purl":"pkg:cargo/rustls@0.23.45","fixed":["0.23.46"],"url":"https://insights.sbomify.com/CVE-2026-123610/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-123611","aliases":["GHSA-w44r-93j7-qv28","RUSTSEC-2026-0349"],"summary":"Unauthenticated ServerHello can downgrade later connections to classical key exchange","severity":"low","score":3.7,"package":"rustls","version":"0.23.45","ecosystem":"crates.io","purl":"pkg:cargo/rustls@0.23.45","fixed":["0.23.46"],"url":"https://insights.sbomify.com/CVE-2026-123611/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-123612","aliases":["GHSA-vp88-798v-h67f","RUSTSEC-2026-0347"],"summary":"Buffered application data sent to outer server after ECH rejection","severity":"low","score":2.3,"package":"rustls","version":"0.23.45","ecosystem":"crates.io","purl":"pkg:cargo/rustls@0.23.45","fixed":["0.23.46"],"url":"https://insights.sbomify.com/CVE-2026-123612/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-111959","aliases":["GHSA-gqmm-qrjq-4c7h","RUSTSEC-2026-0442"],"summary":"Apache Arrow Rust: Improper validation of RunEndEncoded arrays allows out of bounds reads","severity":"unknown","score":null,"package":"arrow-data","version":"58.4.0","ecosystem":"crates.io","purl":"pkg:cargo/arrow-data@58.4.0","fixed":["58.4.1"],"url":"https://insights.sbomify.com/CVE-2026-111959/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-111959","aliases":["GHSA-gqmm-qrjq-4c7h","RUSTSEC-2026-0442"],"summary":"Apache Arrow Rust: Improper validation of RunEndEncoded arrays allows out of bounds reads","severity":"unknown","score":null,"package":"arrow-data","version":"59.3.0","ecosystem":"crates.io","purl":"pkg:cargo/arrow-data@59.3.0","fixed":["59.3.2"],"url":"https://insights.sbomify.com/CVE-2026-111959/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2025-0141","aliases":[],"summary":"Bincode is unmaintained","severity":"unknown","score":null,"package":"bincode","version":"1.3.3","ecosystem":"crates.io","purl":"pkg:cargo/bincode@1.3.3","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2025-0141","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0387","aliases":[],"summary":"Multiple timing variability issues in operations intended to be constant-time","severity":"unknown","score":null,"package":"crypto-bigint","version":"0.5.5","ecosystem":"crates.io","purl":"pkg:cargo/crypto-bigint@0.5.5","fixed":["0.7.6"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0387","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0385","aliases":[],"summary":"Non-constant-time mask generation and `u128` comparisons","severity":"unknown","score":null,"package":"ctutils","version":"0.4.2","ecosystem":"crates.io","purl":"pkg:cargo/ctutils@0.4.2","fixed":["0.4.4"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0385","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2024-0388","aliases":[],"summary":"`derivative` is unmaintained; consider using an alternative","severity":"unknown","score":null,"package":"derivative","version":"2.2.0","ecosystem":"crates.io","purl":"pkg:cargo/derivative@2.2.0","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2024-0388","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2021-0141","aliases":[],"summary":"dotenv is Unmaintained","severity":"unknown","score":null,"package":"dotenv","version":"0.15.0","ecosystem":"crates.io","purl":"pkg:cargo/dotenv@0.15.0","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2021-0141","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2024-0436","aliases":[],"summary":"paste - no longer maintained","severity":"unknown","score":null,"package":"paste","version":"1.0.15","ecosystem":"crates.io","purl":"pkg:cargo/paste@1.0.15","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2024-0436","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0441","aliases":[],"summary":"`pin-utils` is unmaintained","severity":"unknown","score":null,"package":"pin-utils","version":"0.1.0","ecosystem":"crates.io","purl":"pkg:cargo/pin-utils@0.1.0","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0441","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0338","aliases":["GHSA-465w-v9q3-7j98"],"summary":"Remote peer can panic quinn-proto with zero-length STREAM frames during unordered reads","severity":"unknown","score":null,"package":"quinn-proto","version":"0.11.17","ecosystem":"crates.io","purl":"pkg:cargo/quinn-proto@0.11.17","fixed":["0.11.18"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0338","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-111943","aliases":["BIT-golang-2026-111943","GO-2026-6809","RUSTSEC-2026-0381","RUSTSEC-2026-0382","RUSTSEC-2026-0383"],"summary":"Certificate verification may accept distrusted intermediates","severity":"unknown","score":null,"package":"rustls-webpki","version":"0.103.15","ecosystem":"crates.io","purl":"pkg:cargo/rustls-webpki@0.103.15","fixed":["0.103.16"],"url":"https://insights.sbomify.com/CVE-2026-111943/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0386","aliases":[],"summary":"`AsyncFd::new` and related constructors violate I/O safety","severity":"unknown","score":null,"package":"tokio","version":"1.53.1","ecosystem":"crates.io","purl":"pkg:cargo/tokio@1.53.1","fixed":["1.53.3"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0386","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"CVE-2026-111943","aliases":["BIT-golang-2026-111943","GO-2026-6809","RUSTSEC-2026-0381","RUSTSEC-2026-0382","RUSTSEC-2026-0383"],"summary":"Bundled root certificates allow trust in distrusted emSign intermediates","severity":"unknown","score":null,"package":"webpki-roots","version":"1.0.9","ecosystem":"crates.io","purl":"pkg:cargo/webpki-roots@1.0.9","fixed":["1.0.10"],"url":"https://insights.sbomify.com/CVE-2026-111943/","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0391","aliases":[],"summary":"Data from an abandoned stream leaks into the next stream on a reused context","severity":"unknown","score":null,"package":"zstd","version":"0.13.3","ecosystem":"crates.io","purl":"pkg:cargo/zstd@0.13.3","fixed":["0.13.4"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0391","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0391","aliases":[],"summary":"Data from an abandoned stream leaks into the next stream on a reused context","severity":"unknown","score":null,"package":"zstd","version":"0.14.1","ecosystem":"crates.io","purl":"pkg:cargo/zstd@0.14.1","fixed":["0.14.3"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0391","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0395","aliases":[],"summary":"Use-after-free with `CParameter::StableInBuffer`","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0395","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0395","aliases":[],"summary":"Use-after-free with `CParameter::StableInBuffer`","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0395","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0396","aliases":[],"summary":"`Seekable` reads a NULL or out-of-bounds seek table","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0396","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0396","aliases":[],"summary":"`Seekable` reads a NULL or out-of-bounds seek table","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0396","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0397","aliases":[],"summary":"`OutBuffer::around_pos` exposes uninitialized memory","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0397","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0397","aliases":[],"summary":"`OutBuffer::around_pos` exposes uninitialized memory","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0397","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0398","aliases":[],"summary":"`Seekable::decompress` sets a `Vec` length beyond its capacity for offsets past the end","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0398","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0398","aliases":[],"summary":"`Seekable::decompress` sets a `Vec` length beyond its capacity for offsets past the end","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0398","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0399","aliases":[],"summary":"Use-after-free through `init_using_cdict` and `init_using_ddict`","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0399","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0399","aliases":[],"summary":"Use-after-free through `init_using_cdict` and `init_using_ddict`","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0399","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0400","aliases":[],"summary":"Use-after-free of a dictionary after a one-shot call on a context with an open stream","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0400","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0400","aliases":[],"summary":"Use-after-free of a dictionary after a one-shot call on a context with an open stream","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0400","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0401","aliases":[],"summary":"Out-of-bounds read in `train_from_buffer` when sample sizes overflow","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0401","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0401","aliases":[],"summary":"Out-of-bounds read in `train_from_buffer` when sample sizes overflow","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0401","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0402","aliases":[],"summary":"Heap buffer overflow in `CCtx::try_clone` on a multithreaded context","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0402","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0402","aliases":[],"summary":"Heap buffer overflow in `CCtx::try_clone` on a multithreaded context","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0402","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0403","aliases":[],"summary":"Uninitialized memory exposed when streaming decompression of a legacy frame fails","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0403","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0403","aliases":[],"summary":"Uninitialized memory exposed when streaming decompression of a legacy frame fails","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0403","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0404","aliases":[],"summary":"Double free in `DCtx::try_clone`","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0404","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0404","aliases":[],"summary":"Double free in `DCtx::try_clone`","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0404","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0405","aliases":[],"summary":"Out-of-bounds read with an out-of-range `InBuffer::pos`","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0405","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0405","aliases":[],"summary":"Out-of-bounds read with an out-of-range `InBuffer::pos`","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0405","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0406","aliases":[],"summary":"Use-after-free when changing a multithreaded context with an unfinished frame","severity":"unknown","score":null,"package":"zstd-safe","version":"7.3.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@7.3.0","fixed":["7.4.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0406","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0406","aliases":[],"summary":"Use-after-free when changing a multithreaded context with an unfinished frame","severity":"unknown","score":null,"package":"zstd-safe","version":"8.1.0","ecosystem":"crates.io","purl":"pkg:cargo/zstd-safe@8.1.0","fixed":["8.2.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0406","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]},{"id":"RUSTSEC-2026-0410","aliases":[],"summary":"WebAssembly allocator shim corrupts memory on allocation failure","severity":"unknown","score":null,"package":"zstd-sys","version":"2.1.1+zstd.1.5.7","ecosystem":"crates.io","purl":"pkg:cargo/zstd-sys@2.1.1%2Bzstd.1.5.7","fixed":["2.1.2"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0410","wheels":["pyspiral-0.16.33-cp311-abi3-macosx_11_0_arm64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_aarch64.whl","pyspiral-0.16.33-cp311-abi3-manylinux_2_28_x86_64.whl"]}],"vulnerability_scan":{"scanned_sboms":3,"total_sboms":3,"scanned_at":"2026-11-10","scanner":"osv-scanner 2.7.0","severity_counts":{"high":6,"medium":3,"low":3,"unknown":40}}}