Skip to content

ci: add yanked version of chacha crate to deny exceptions while waiting for updates - #9982

Closed
westonpace wants to merge 1 commit into
lance-format:mainfrom
westonpace:ci/add-deny-entry-chacha
Closed

westonpace wants to merge 1 commit into
lance-format:mainfrom
westonpace:ci/add-deny-entry-chacha

Conversation

@westonpace

Copy link
Copy Markdown
Member

The crate yanked some versions that contained UB (illegal op / segfault prob?) in SSE2 hardware. This predates AVX2 which is what we generally use as a baseline (though I think some users use lance on older hardware).

Either way, it's a transitive dependency (via rand and object_store) and the intermediate dependencies haven't updated yet so we are stuck with it for now.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@github-actions github-actions Bot added A-deps Dependency updates ci Github Action or Test issues labels Oct 14, 2026

@lance-gatekeeper lance-gatekeeper Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Gate recommendation: approve with a non-blocking risk.

The exception removes the intended audit warning, but it retains the existing CPU-dependent undefined behavior risk. Prefer refreshing the lockfiles to the available upstream fix.

Comment thread deny.toml
{ id = "RUSTSEC-2026-0195", reason = "`quick-xml` <0.41 pulled transitively via object_store (datafusion) and reqsign-aws-v4 (opendal); upstream must upgrade first" },
{ id = "RUSTSEC-2024-0449", reason = "`serde_yaml` pulled transitively via datafusion-substrait; serde features not utilized by us" },
]
{ crate = "chacha20@0.10.0", reason = "yanked upstream; pulled transitively via rand -> object_store, no newer version to update to yet, yanking was for UB in SSE2 which we don't really support anyways" },]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chacha20 0.10.2 is already published and unyanked, and RustCrypto/stream-ciphers#580 fixes the SSE4.1 intrinsic used by the SSE2 RNG backend. The locked rand 0.10.1 accepts chacha20 ^0.10.0, so this update does not require a new rand or object_store release. Consider refreshing the root, Python, and JNI lockfiles to that version instead of suppressing the warning. This is non-blocking for this revision because the runtime dependency and its exposure are unchanged.

@lance-gatekeeper lance-gatekeeper Bot added K-approved Latest Gatekeeper recommendation permits acceptance. K-risk Latest Gatekeeper recommendation includes a non-blocking risk. labels Oct 14, 2026
@westonpace westonpace closed this Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-deps Dependency updates ci Github Action or Test issues K-approved Latest Gatekeeper recommendation permits acceptance. K-risk Latest Gatekeeper recommendation includes a non-blocking risk.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant