[rhoai-2.25] fix(deps): bump keras override to >=3.14.0 for CVE-2026-1462 - #2137
Conversation
|
Skipping CI for Draft Pull Request. |
📝 WalkthroughWalkthroughDependency versions are updated across CVE constraints and environment-specific configuration files. Keras is upgraded from 3.13.2 to 3.14.0 and keras overrides are broadened from Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@swattamw2024 — This PR is from a fork. Recommended: Push your branch to the main repo for full CI: Then open a new PR from that branch. No push access? A maintainer will cherry-pick and test your changes. See CONTRIBUTING.md for details. |
e06d9a4 to
0cebd7c
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@jupyter/rocm/tensorflow/ubi9-python-3.12/pylock.toml`:
- Around line 749-800: The lockfile shows incidental transitive upgrades
(cryptography bumped to 46.0.7 and pytokens 0.4.1 with expanded wheels)
unrelated to the Keras CVE fix; either constrain these changes or explicitly
document and sync them: decide whether to pin cryptography back to "46.0.5" (and
remove pytokens 0.4.1 changes) to keep the patch minimal, or accept them by
updating all regenerated pylock.toml files consistently and add a PR
description/changelog entry listing cryptography=46.0.7 and pytokens=0.4.1 so
downstream consumers are aware. Ensure the chosen action is applied to every
pylock.toml regeneration to avoid divergence.
In `@jupyter/tensorflow/ubi9-python-3.12/pylock.toml`:
- Around line 747-800: Update the PR description to explicitly state that the
cryptography package was bumped from 46.0.5 to 46.0.7 to remediate
CVE-2026-39892 (buffer overflow affecting >=45.0.0 <46.0.7) alongside the Keras
CVE; reference the package entry "name = \"cryptography\"" and the new "version
= \"46.0.7\"" in the pylock.toml diff and add a short note that this is a
security-only change. Also check the other three lockfiles for the same
"cryptography" version change and, if present, add the same CVE note to the PR
so reviewers know the cryptography bump is intentional and security-motivated.
- Around line 4055-4100: The PR accidentally bumped the dependency "pytokens"
from 0.3.0 to 0.4.1 (see the pytokens entry showing wheels and sdist), which
introduces compiled wheels and expands ABI/supply-chain scope; confirm whether
that bump is intended and, if not, revert the pytokens change or restrict
lockfile regeneration to only upgrade the target package (e.g., regenerate the
lock with the tool flag to --upgrade-package keras) so pytokens remains at
0.3.0; if the bump is intended, add an explicit rationale and verify
compatibility across our supported Python ABIs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 57f95924-ed44-4dbc-95dc-ca1c4820f735
📒 Files selected for processing (9)
dependencies/cve-constraints.txtjupyter/rocm/tensorflow/ubi9-python-3.12/pylock.tomljupyter/rocm/tensorflow/ubi9-python-3.12/pyproject.tomljupyter/tensorflow/ubi9-python-3.12/pylock.tomljupyter/tensorflow/ubi9-python-3.12/pyproject.tomlruntimes/rocm-tensorflow/ubi9-python-3.12/pylock.tomlruntimes/rocm-tensorflow/ubi9-python-3.12/pyproject.tomlruntimes/tensorflow/ubi9-python-3.12/pylock.tomlruntimes/tensorflow/ubi9-python-3.12/pyproject.toml
| [[packages]] | ||
| name = "cryptography" | ||
| version = "46.0.5" | ||
| sdist = { url = "https://files.pythonhosted.org/packages/60/04/ee2a9e8542e4fa2773b81771ff8349ff19cdd56b7258a0cc442639052edb/cryptography-46.0.5.tar.gz", upload-time = 2026-02-10T19:18:38Z, size = 750064, hashes = { sha256 = "abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d" } } | ||
| version = "46.0.7" | ||
| sdist = { url = "https://files.pythonhosted.org/packages/47/93/ac8f3d5ff04d54bc814e961a43ae5b0b146154c89c61b47bb07557679b18/cryptography-46.0.7.tar.gz", upload-time = 2026-04-08T01:57:54Z, size = 750652, hashes = { sha256 = "e4cfd68c5f3e0bfdad0d38e023239b96a2fe84146481852dffbcca442c245aa5" } } | ||
| wheels = [ | ||
| { url = "https://files.pythonhosted.org/packages/f7/81/b0bb27f2ba931a65409c6b8a8b358a7f03c0e46eceacddff55f7c84b1f3b/cryptography-46.0.5-cp311-abi3-macosx_10_9_universal2.whl", upload-time = 2026-02-10T19:17:08Z, size = 7176289, hashes = { sha256 = "351695ada9ea9618b3500b490ad54c739860883df6c1f555e088eaf25b1bbaad" } }, | ||
| { url = "https://files.pythonhosted.org/packages/ff/9e/6b4397a3e3d15123de3b1806ef342522393d50736c13b20ec4c9ea6693a6/cryptography-46.0.5-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", upload-time = 2026-02-10T19:17:10Z, size = 4275637, hashes = { sha256 = "c18ff11e86df2e28854939acde2d003f7984f721eba450b56a200ad90eeb0e6b" } }, | ||
| { url = "https://files.pythonhosted.org/packages/63/e7/471ab61099a3920b0c77852ea3f0ea611c9702f651600397ac567848b897/cryptography-46.0.5-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-02-10T19:17:12Z, size = 4424742, hashes = { sha256 = "4d7e3d356b8cd4ea5aff04f129d5f66ebdc7b6f8eae802b93739ed520c47c79b" } }, | ||
| { url = "https://files.pythonhosted.org/packages/37/53/a18500f270342d66bf7e4d9f091114e31e5ee9e7375a5aba2e85a91e0044/cryptography-46.0.5-cp311-abi3-manylinux_2_28_aarch64.whl", upload-time = 2026-02-10T19:17:13Z, size = 4277528, hashes = { sha256 = "50bfb6925eff619c9c023b967d5b77a54e04256c4281b0e21336a130cd7fc263" } }, | ||
| { url = "https://files.pythonhosted.org/packages/22/29/c2e812ebc38c57b40e7c583895e73c8c5adb4d1e4a0cc4c5a4fdab2b1acc/cryptography-46.0.5-cp311-abi3-manylinux_2_28_ppc64le.whl", upload-time = 2026-02-10T19:17:15Z, size = 4947993, hashes = { sha256 = "803812e111e75d1aa73690d2facc295eaefd4439be1023fefc4995eaea2af90d" } }, | ||
| { url = "https://files.pythonhosted.org/packages/6b/e7/237155ae19a9023de7e30ec64e5d99a9431a567407ac21170a046d22a5a3/cryptography-46.0.5-cp311-abi3-manylinux_2_28_x86_64.whl", upload-time = 2026-02-10T19:17:17Z, size = 4456855, hashes = { sha256 = "3ee190460e2fbe447175cda91b88b84ae8322a104fc27766ad09428754a618ed" } }, | ||
| { url = "https://files.pythonhosted.org/packages/2d/87/fc628a7ad85b81206738abbd213b07702bcbdada1dd43f72236ef3cffbb5/cryptography-46.0.5-cp311-abi3-manylinux_2_31_armv7l.whl", upload-time = 2026-02-10T19:17:18Z, size = 3984635, hashes = { sha256 = "f145bba11b878005c496e93e257c1e88f154d278d2638e6450d17e0f31e558d2" } }, | ||
| { url = "https://files.pythonhosted.org/packages/84/29/65b55622bde135aedf4565dc509d99b560ee4095e56989e815f8fd2aa910/cryptography-46.0.5-cp311-abi3-manylinux_2_34_aarch64.whl", upload-time = 2026-02-10T19:17:20Z, size = 4277038, hashes = { sha256 = "e9251e3be159d1020c4030bd2e5f84d6a43fe54b6c19c12f51cde9542a2817b2" } }, | ||
| { url = "https://files.pythonhosted.org/packages/bc/36/45e76c68d7311432741faf1fbf7fac8a196a0a735ca21f504c75d37e2558/cryptography-46.0.5-cp311-abi3-manylinux_2_34_ppc64le.whl", upload-time = 2026-02-10T19:17:21Z, size = 4912181, hashes = { sha256 = "47fb8a66058b80e509c47118ef8a75d14c455e81ac369050f20ba0d23e77fee0" } }, | ||
| { url = "https://files.pythonhosted.org/packages/6d/1a/c1ba8fead184d6e3d5afcf03d569acac5ad063f3ac9fb7258af158f7e378/cryptography-46.0.5-cp311-abi3-manylinux_2_34_x86_64.whl", upload-time = 2026-02-10T19:17:25Z, size = 4456482, hashes = { sha256 = "4c3341037c136030cb46e4b1e17b7418ea4cbd9dd207e4a6f3b2b24e0d4ac731" } }, | ||
| { url = "https://files.pythonhosted.org/packages/f9/e5/3fb22e37f66827ced3b902cf895e6a6bc1d095b5b26be26bd13c441fdf19/cryptography-46.0.5-cp311-abi3-musllinux_1_2_aarch64.whl", upload-time = 2026-02-10T19:17:26Z, size = 4405497, hashes = { sha256 = "890bcb4abd5a2d3f852196437129eb3667d62630333aacc13dfd470fad3aaa82" } }, | ||
| { url = "https://files.pythonhosted.org/packages/1a/df/9d58bb32b1121a8a2f27383fabae4d63080c7ca60b9b5c88be742be04ee7/cryptography-46.0.5-cp311-abi3-musllinux_1_2_x86_64.whl", upload-time = 2026-02-10T19:17:28Z, size = 4667819, hashes = { sha256 = "80a8d7bfdf38f87ca30a5391c0c9ce4ed2926918e017c29ddf643d0ed2778ea1" } }, | ||
| { url = "https://files.pythonhosted.org/packages/ea/ed/325d2a490c5e94038cdb0117da9397ece1f11201f425c4e9c57fe5b9f08b/cryptography-46.0.5-cp311-abi3-win32.whl", upload-time = 2026-02-10T19:17:30Z, size = 3028230, hashes = { sha256 = "60ee7e19e95104d4c03871d7d7dfb3d22ef8a9b9c6778c94e1c8fcc8365afd48" } }, | ||
| { url = "https://files.pythonhosted.org/packages/e9/5a/ac0f49e48063ab4255d9e3b79f5def51697fce1a95ea1370f03dc9db76f6/cryptography-46.0.5-cp311-abi3-win_amd64.whl", upload-time = 2026-02-10T19:17:32Z, size = 3480909, hashes = { sha256 = "38946c54b16c885c72c4f59846be9743d699eee2b69b6988e0a00a01f46a61a4" } }, | ||
| { url = "https://files.pythonhosted.org/packages/00/13/3d278bfa7a15a96b9dc22db5a12ad1e48a9eb3d40e1827ef66a5df75d0d0/cryptography-46.0.5-cp314-cp314t-macosx_10_9_universal2.whl", upload-time = 2026-02-10T19:17:33Z, size = 7119287, hashes = { sha256 = "94a76daa32eb78d61339aff7952ea819b1734b46f73646a07decb40e5b3448e2" } }, | ||
| { url = "https://files.pythonhosted.org/packages/67/c8/581a6702e14f0898a0848105cbefd20c058099e2c2d22ef4e476dfec75d7/cryptography-46.0.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", upload-time = 2026-02-10T19:17:35Z, size = 4265728, hashes = { sha256 = "5be7bf2fb40769e05739dd0046e7b26f9d4670badc7b032d6ce4db64dddc0678" } }, | ||
| { url = "https://files.pythonhosted.org/packages/dd/4a/ba1a65ce8fc65435e5a849558379896c957870dd64fecea97b1ad5f46a37/cryptography-46.0.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-02-10T19:17:36Z, size = 4408287, hashes = { sha256 = "fe346b143ff9685e40192a4960938545c699054ba11d4f9029f94751e3f71d87" } }, | ||
| { url = "https://files.pythonhosted.org/packages/f8/67/8ffdbf7b65ed1ac224d1c2df3943553766914a8ca718747ee3871da6107e/cryptography-46.0.5-cp314-cp314t-manylinux_2_28_aarch64.whl", upload-time = 2026-02-10T19:17:38Z, size = 4270291, hashes = { sha256 = "c69fd885df7d089548a42d5ec05be26050ebcd2283d89b3d30676eb32ff87dee" } }, | ||
| { url = "https://files.pythonhosted.org/packages/f8/e5/f52377ee93bc2f2bba55a41a886fd208c15276ffbd2569f2ddc89d50e2c5/cryptography-46.0.5-cp314-cp314t-manylinux_2_28_ppc64le.whl", upload-time = 2026-02-10T19:17:40Z, size = 4927539, hashes = { sha256 = "8293f3dea7fc929ef7240796ba231413afa7b68ce38fd21da2995549f5961981" } }, | ||
| { url = "https://files.pythonhosted.org/packages/3b/02/cfe39181b02419bbbbcf3abdd16c1c5c8541f03ca8bda240debc467d5a12/cryptography-46.0.5-cp314-cp314t-manylinux_2_28_x86_64.whl", upload-time = 2026-02-10T19:17:41Z, size = 4442199, hashes = { sha256 = "1abfdb89b41c3be0365328a410baa9df3ff8a9110fb75e7b52e66803ddabc9a9" } }, | ||
| { url = "https://files.pythonhosted.org/packages/c0/96/2fcaeb4873e536cf71421a388a6c11b5bc846e986b2b069c79363dc1648e/cryptography-46.0.5-cp314-cp314t-manylinux_2_31_armv7l.whl", upload-time = 2026-02-10T19:17:43Z, size = 3960131, hashes = { sha256 = "d66e421495fdb797610a08f43b05269e0a5ea7f5e652a89bfd5a7d3c1dee3648" } }, | ||
| { url = "https://files.pythonhosted.org/packages/d8/d2/b27631f401ddd644e94c5cf33c9a4069f72011821cf3dc7309546b0642a0/cryptography-46.0.5-cp314-cp314t-manylinux_2_34_aarch64.whl", upload-time = 2026-02-10T19:17:45Z, size = 4270072, hashes = { sha256 = "4e817a8920bfbcff8940ecfd60f23d01836408242b30f1a708d93198393a80b4" } }, | ||
| { url = "https://files.pythonhosted.org/packages/f4/a7/60d32b0370dae0b4ebe55ffa10e8599a2a59935b5ece1b9f06edb73abdeb/cryptography-46.0.5-cp314-cp314t-manylinux_2_34_ppc64le.whl", upload-time = 2026-02-10T19:17:46Z, size = 4892170, hashes = { sha256 = "68f68d13f2e1cb95163fa3b4db4bf9a159a418f5f6e7242564fc75fcae667fd0" } }, | ||
| { url = "https://files.pythonhosted.org/packages/d2/b9/cf73ddf8ef1164330eb0b199a589103c363afa0cf794218c24d524a58eab/cryptography-46.0.5-cp314-cp314t-manylinux_2_34_x86_64.whl", upload-time = 2026-02-10T19:17:48Z, size = 4441741, hashes = { sha256 = "a3d1fae9863299076f05cb8a778c467578262fae09f9dc0ee9b12eb4268ce663" } }, | ||
| { url = "https://files.pythonhosted.org/packages/5f/eb/eee00b28c84c726fe8fa0158c65afe312d9c3b78d9d01daf700f1f6e37ff/cryptography-46.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl", upload-time = 2026-02-10T19:17:50Z, size = 4396728, hashes = { sha256 = "c4143987a42a2397f2fc3b4d7e3a7d313fbe684f67ff443999e803dd75a76826" } }, | ||
| { url = "https://files.pythonhosted.org/packages/65/f4/6bc1a9ed5aef7145045114b75b77c2a8261b4d38717bd8dea111a63c3442/cryptography-46.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl", upload-time = 2026-02-10T19:17:51Z, size = 4652001, hashes = { sha256 = "7d731d4b107030987fd61a7f8ab512b25b53cef8f233a97379ede116f30eb67d" } }, | ||
| { url = "https://files.pythonhosted.org/packages/86/ef/5d00ef966ddd71ac2e6951d278884a84a40ffbd88948ef0e294b214ae9e4/cryptography-46.0.5-cp314-cp314t-win32.whl", upload-time = 2026-02-10T19:17:52Z, size = 3003637, hashes = { sha256 = "c3bcce8521d785d510b2aad26ae2c966092b7daa8f45dd8f44734a104dc0bc1a" } }, | ||
| { url = "https://files.pythonhosted.org/packages/b7/57/f3f4160123da6d098db78350fdfd9705057aad21de7388eacb2401dceab9/cryptography-46.0.5-cp314-cp314t-win_amd64.whl", upload-time = 2026-02-10T19:17:54Z, size = 3469487, hashes = { sha256 = "4d8ae8659ab18c65ced284993c2265910f6c9e650189d4e3f68445ef82a810e4" } }, | ||
| { url = "https://files.pythonhosted.org/packages/e2/fa/a66aa722105ad6a458bebd64086ca2b72cdd361fed31763d20390f6f1389/cryptography-46.0.5-cp38-abi3-macosx_10_9_universal2.whl", upload-time = 2026-02-10T19:17:56Z, size = 7170514, hashes = { sha256 = "4108d4c09fbbf2789d0c926eb4152ae1760d5a2d97612b92d508d96c861e4d31" } }, | ||
| { url = "https://files.pythonhosted.org/packages/0f/04/c85bdeab78c8bc77b701bf0d9bdcf514c044e18a46dcff330df5448631b0/cryptography-46.0.5-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", upload-time = 2026-02-10T19:17:58Z, size = 4275349, hashes = { sha256 = "7d1f30a86d2757199cb2d56e48cce14deddf1f9c95f1ef1b64ee91ea43fe2e18" } }, | ||
| { url = "https://files.pythonhosted.org/packages/5c/32/9b87132a2f91ee7f5223b091dc963055503e9b442c98fc0b8a5ca765fab0/cryptography-46.0.5-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-02-10T19:18:00Z, size = 4420667, hashes = { sha256 = "039917b0dc418bb9f6edce8a906572d69e74bd330b0b3fea4f79dab7f8ddd235" } }, | ||
| { url = "https://files.pythonhosted.org/packages/a1/a6/a7cb7010bec4b7c5692ca6f024150371b295ee1c108bdc1c400e4c44562b/cryptography-46.0.5-cp38-abi3-manylinux_2_28_aarch64.whl", upload-time = 2026-02-10T19:18:02Z, size = 4276980, hashes = { sha256 = "ba2a27ff02f48193fc4daeadf8ad2590516fa3d0adeeb34336b96f7fa64c1e3a" } }, | ||
| { url = "https://files.pythonhosted.org/packages/8e/7c/c4f45e0eeff9b91e3f12dbd0e165fcf2a38847288fcfd889deea99fb7b6d/cryptography-46.0.5-cp38-abi3-manylinux_2_28_ppc64le.whl", upload-time = 2026-02-10T19:18:03Z, size = 4939143, hashes = { sha256 = "61aa400dce22cb001a98014f647dc21cda08f7915ceb95df0c9eaf84b4b6af76" } }, | ||
| { url = "https://files.pythonhosted.org/packages/37/19/e1b8f964a834eddb44fa1b9a9976f4e414cbb7aa62809b6760c8803d22d1/cryptography-46.0.5-cp38-abi3-manylinux_2_28_x86_64.whl", upload-time = 2026-02-10T19:18:05Z, size = 4453674, hashes = { sha256 = "3ce58ba46e1bc2aac4f7d9290223cead56743fa6ab94a5d53292ffaac6a91614" } }, | ||
| { url = "https://files.pythonhosted.org/packages/db/ed/db15d3956f65264ca204625597c410d420e26530c4e2943e05a0d2f24d51/cryptography-46.0.5-cp38-abi3-manylinux_2_31_armv7l.whl", upload-time = 2026-02-10T19:18:07Z, size = 3978801, hashes = { sha256 = "420d0e909050490d04359e7fdb5ed7e667ca5c3c402b809ae2563d7e66a92229" } }, | ||
| { url = "https://files.pythonhosted.org/packages/41/e2/df40a31d82df0a70a0daf69791f91dbb70e47644c58581d654879b382d11/cryptography-46.0.5-cp38-abi3-manylinux_2_34_aarch64.whl", upload-time = 2026-02-10T19:18:09Z, size = 4276755, hashes = { sha256 = "582f5fcd2afa31622f317f80426a027f30dc792e9c80ffee87b993200ea115f1" } }, | ||
| { url = "https://files.pythonhosted.org/packages/33/45/726809d1176959f4a896b86907b98ff4391a8aa29c0aaaf9450a8a10630e/cryptography-46.0.5-cp38-abi3-manylinux_2_34_ppc64le.whl", upload-time = 2026-02-10T19:18:11Z, size = 4901539, hashes = { sha256 = "bfd56bb4b37ed4f330b82402f6f435845a5f5648edf1ad497da51a8452d5d62d" } }, | ||
| { url = "https://files.pythonhosted.org/packages/99/0f/a3076874e9c88ecb2ecc31382f6e7c21b428ede6f55aafa1aa272613e3cd/cryptography-46.0.5-cp38-abi3-manylinux_2_34_x86_64.whl", upload-time = 2026-02-10T19:18:12Z, size = 4452794, hashes = { sha256 = "a3d507bb6a513ca96ba84443226af944b0f7f47dcc9a399d110cd6146481d24c" } }, | ||
| { url = "https://files.pythonhosted.org/packages/02/ef/ffeb542d3683d24194a38f66ca17c0a4b8bf10631feef44a7ef64e631b1a/cryptography-46.0.5-cp38-abi3-musllinux_1_2_aarch64.whl", upload-time = 2026-02-10T19:18:14Z, size = 4404160, hashes = { sha256 = "9f16fbdf4da055efb21c22d81b89f155f02ba420558db21288b3d0035bafd5f4" } }, | ||
| { url = "https://files.pythonhosted.org/packages/96/93/682d2b43c1d5f1406ed048f377c0fc9fc8f7b0447a478d5c65ab3d3a66eb/cryptography-46.0.5-cp38-abi3-musllinux_1_2_x86_64.whl", upload-time = 2026-02-10T19:18:15Z, size = 4667123, hashes = { sha256 = "ced80795227d70549a411a4ab66e8ce307899fad2220ce5ab2f296e687eacde9" } }, | ||
| { url = "https://files.pythonhosted.org/packages/45/2d/9c5f2926cb5300a8eefc3f4f0b3f3df39db7f7ce40c8365444c49363cbda/cryptography-46.0.5-cp38-abi3-win32.whl", upload-time = 2026-02-10T19:18:17Z, size = 3010220, hashes = { sha256 = "02f547fce831f5096c9a567fd41bc12ca8f11df260959ecc7c3202555cc47a72" } }, | ||
| { url = "https://files.pythonhosted.org/packages/48/ef/0c2f4a8e31018a986949d34a01115dd057bf536905dca38897bacd21fac3/cryptography-46.0.5-cp38-abi3-win_amd64.whl", upload-time = 2026-02-10T19:18:18Z, size = 3467050, hashes = { sha256 = "556e106ee01aa13484ce9b0239bca667be5004efb0aabbed28d353df86445595" } }, | ||
| { url = "https://files.pythonhosted.org/packages/eb/dd/2d9fdb07cebdf3d51179730afb7d5e576153c6744c3ff8fded23030c204e/cryptography-46.0.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", upload-time = 2026-02-10T19:18:20Z, size = 3476964, hashes = { sha256 = "3b4995dc971c9fb83c25aa44cf45f02ba86f71ee600d81091c2f0cbae116b06c" } }, | ||
| { url = "https://files.pythonhosted.org/packages/e9/6f/6cc6cc9955caa6eaf83660b0da2b077c7fe8ff9950a3c5e45d605038d439/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", upload-time = 2026-02-10T19:18:22Z, size = 4218321, hashes = { sha256 = "bc84e875994c3b445871ea7181d424588171efec3e185dced958dad9e001950a" } }, | ||
| { url = "https://files.pythonhosted.org/packages/3e/5d/c4da701939eeee699566a6c1367427ab91a8b7088cc2328c09dbee940415/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", upload-time = 2026-02-10T19:18:24Z, size = 4381786, hashes = { sha256 = "2ae6971afd6246710480e3f15824ed3029a60fc16991db250034efd0b9fb4356" } }, | ||
| { url = "https://files.pythonhosted.org/packages/ac/97/a538654732974a94ff96c1db621fa464f455c02d4bb7d2652f4edc21d600/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", upload-time = 2026-02-10T19:18:25Z, size = 4217990, hashes = { sha256 = "d861ee9e76ace6cf36a6a89b959ec08e7bc2493ee39d07ffe5acb23ef46d27da" } }, | ||
| { url = "https://files.pythonhosted.org/packages/ae/11/7e500d2dd3ba891197b9efd2da5454b74336d64a7cc419aa7327ab74e5f6/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", upload-time = 2026-02-10T19:18:27Z, size = 4381252, hashes = { sha256 = "2b7a67c9cd56372f3249b39699f2ad479f6991e62ea15800973b956f4b73e257" } }, | ||
| { url = "https://files.pythonhosted.org/packages/bc/58/6b3d24e6b9bc474a2dcdee65dfd1f008867015408a271562e4b690561a4d/cryptography-46.0.5-pp311-pypy311_pp73-win_amd64.whl", upload-time = 2026-02-10T19:18:29Z, size = 3407605, hashes = { sha256 = "8456928655f856c6e1533ff59d5be76578a7157224dbd9ce6872f25055ab9ab7" } }, | ||
| { url = "https://files.pythonhosted.org/packages/0b/5d/4a8f770695d73be252331e60e526291e3df0c9b27556a90a6b47bccca4c2/cryptography-46.0.7-cp311-abi3-macosx_10_9_universal2.whl", upload-time = 2026-04-08T01:56:17Z, size = 7179869, hashes = { sha256 = "ea42cbe97209df307fdc3b155f1b6fa2577c0defa8f1f7d3be7d31d189108ad4" } }, | ||
| { url = "https://files.pythonhosted.org/packages/5f/45/6d80dc379b0bbc1f9d1e429f42e4cb9e1d319c7a8201beffd967c516ea01/cryptography-46.0.7-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", upload-time = 2026-04-08T01:56:19Z, size = 4275492, hashes = { sha256 = "b36a4695e29fe69215d75960b22577197aca3f7a25b9cf9d165dcfe9d80bc325" } }, | ||
| { url = "https://files.pythonhosted.org/packages/4a/9a/1765afe9f572e239c3469f2cb429f3ba7b31878c893b246b4b2994ffe2fe/cryptography-46.0.7-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-04-08T01:56:21Z, size = 4426670, hashes = { sha256 = "5ad9ef796328c5e3c4ceed237a183f5d41d21150f972455a9d926593a1dcb308" } }, | ||
| { url = "https://files.pythonhosted.org/packages/8f/3e/af9246aaf23cd4ee060699adab1e47ced3f5f7e7a8ffdd339f817b446462/cryptography-46.0.7-cp311-abi3-manylinux_2_28_aarch64.whl", upload-time = 2026-04-08T01:56:23Z, size = 4280275, hashes = { sha256 = "73510b83623e080a2c35c62c15298096e2a5dc8d51c3b4e1740211839d0dea77" } }, | ||
| { url = "https://files.pythonhosted.org/packages/0f/54/6bbbfc5efe86f9d71041827b793c24811a017c6ac0fd12883e4caa86b8ed/cryptography-46.0.7-cp311-abi3-manylinux_2_28_ppc64le.whl", upload-time = 2026-04-08T01:56:25Z, size = 4928402, hashes = { sha256 = "cbd5fb06b62bd0721e1170273d3f4d5a277044c47ca27ee257025146c34cbdd1" } }, | ||
| { url = "https://files.pythonhosted.org/packages/2d/cf/054b9d8220f81509939599c8bdbc0c408dbd2bdd41688616a20731371fe0/cryptography-46.0.7-cp311-abi3-manylinux_2_28_x86_64.whl", upload-time = 2026-04-08T01:56:27Z, size = 4459985, hashes = { sha256 = "420b1e4109cc95f0e5700eed79908cef9268265c773d3a66f7af1eef53d409ef" } }, | ||
| { url = "https://files.pythonhosted.org/packages/f9/46/4e4e9c6040fb01c7467d47217d2f882daddeb8828f7df800cb806d8a2288/cryptography-46.0.7-cp311-abi3-manylinux_2_31_armv7l.whl", upload-time = 2026-04-08T01:56:29Z, size = 3990652, hashes = { sha256 = "24402210aa54baae71d99441d15bb5a1919c195398a87b563df84468160a65de" } }, | ||
| { url = "https://files.pythonhosted.org/packages/36/5f/313586c3be5a2fbe87e4c9a254207b860155a8e1f3cca99f9910008e7d08/cryptography-46.0.7-cp311-abi3-manylinux_2_34_aarch64.whl", upload-time = 2026-04-08T01:56:30Z, size = 4279805, hashes = { sha256 = "8a469028a86f12eb7d2fe97162d0634026d92a21f3ae0ac87ed1c4a447886c83" } }, | ||
| { url = "https://files.pythonhosted.org/packages/69/33/60dfc4595f334a2082749673386a4d05e4f0cf4df8248e63b2c3437585f2/cryptography-46.0.7-cp311-abi3-manylinux_2_34_ppc64le.whl", upload-time = 2026-04-08T01:56:32Z, size = 4892883, hashes = { sha256 = "9694078c5d44c157ef3162e3bf3946510b857df5a3955458381d1c7cfc143ddb" } }, | ||
| { url = "https://files.pythonhosted.org/packages/c7/0b/333ddab4270c4f5b972f980adef4faa66951a4aaf646ca067af597f15563/cryptography-46.0.7-cp311-abi3-manylinux_2_34_x86_64.whl", upload-time = 2026-04-08T01:56:34Z, size = 4459756, hashes = { sha256 = "42a1e5f98abb6391717978baf9f90dc28a743b7d9be7f0751a6f56a75d14065b" } }, | ||
| { url = "https://files.pythonhosted.org/packages/d2/14/633913398b43b75f1234834170947957c6b623d1701ffc7a9600da907e89/cryptography-46.0.7-cp311-abi3-musllinux_1_2_aarch64.whl", upload-time = 2026-04-08T01:56:35Z, size = 4410244, hashes = { sha256 = "91bbcb08347344f810cbe49065914fe048949648f6bd5c2519f34619142bbe85" } }, | ||
| { url = "https://files.pythonhosted.org/packages/10/f2/19ceb3b3dc14009373432af0c13f46aa08e3ce334ec6eff13492e1812ccd/cryptography-46.0.7-cp311-abi3-musllinux_1_2_x86_64.whl", upload-time = 2026-04-08T01:56:38Z, size = 4674868, hashes = { sha256 = "5d1c02a14ceb9148cc7816249f64f623fbfee39e8c03b3650d842ad3f34d637e" } }, | ||
| { url = "https://files.pythonhosted.org/packages/1a/bb/a5c213c19ee94b15dfccc48f363738633a493812687f5567addbcbba9f6f/cryptography-46.0.7-cp311-abi3-win32.whl", upload-time = 2026-04-08T01:56:39Z, size = 3026504, hashes = { sha256 = "d23c8ca48e44ee015cd0a54aeccdf9f09004eba9fc96f38c911011d9ff1bd457" } }, | ||
| { url = "https://files.pythonhosted.org/packages/2b/02/7788f9fefa1d060ca68717c3901ae7fffa21ee087a90b7f23c7a603c32ae/cryptography-46.0.7-cp311-abi3-win_amd64.whl", upload-time = 2026-04-08T01:56:41Z, size = 3488363, hashes = { sha256 = "397655da831414d165029da9bc483bed2fe0e75dde6a1523ec2fe63f3c46046b" } }, | ||
| { url = "https://files.pythonhosted.org/packages/7b/56/15619b210e689c5403bb0540e4cb7dbf11a6bf42e483b7644e471a2812b3/cryptography-46.0.7-cp314-cp314t-macosx_10_9_universal2.whl", upload-time = 2026-04-08T01:56:44Z, size = 7119671, hashes = { sha256 = "d151173275e1728cf7839aaa80c34fe550c04ddb27b34f48c232193df8db5842" } }, | ||
| { url = "https://files.pythonhosted.org/packages/74/66/e3ce040721b0b5599e175ba91ab08884c75928fbeb74597dd10ef13505d2/cryptography-46.0.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", upload-time = 2026-04-08T01:56:46Z, size = 4268551, hashes = { sha256 = "db0f493b9181c7820c8134437eb8b0b4792085d37dbb24da050476ccb664e59c" } }, | ||
| { url = "https://files.pythonhosted.org/packages/03/11/5e395f961d6868269835dee1bafec6a1ac176505a167f68b7d8818431068/cryptography-46.0.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-04-08T01:56:47Z, size = 4408887, hashes = { sha256 = "ebd6daf519b9f189f85c479427bbd6e9c9037862cf8fe89ee35503bd209ed902" } }, | ||
| { url = "https://files.pythonhosted.org/packages/40/53/8ed1cf4c3b9c8e611e7122fb56f1c32d09e1fff0f1d77e78d9ff7c82653e/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_aarch64.whl", upload-time = 2026-04-08T01:56:49Z, size = 4271354, hashes = { sha256 = "b7b412817be92117ec5ed95f880defe9cf18a832e8cafacf0a22337dc1981b4d" } }, | ||
| { url = "https://files.pythonhosted.org/packages/50/46/cf71e26025c2e767c5609162c866a78e8a2915bbcfa408b7ca495c6140c4/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_ppc64le.whl", upload-time = 2026-04-08T01:56:50Z, size = 4905845, hashes = { sha256 = "fbfd0e5f273877695cb93baf14b185f4878128b250cc9f8e617ea0c025dfb022" } }, | ||
| { url = "https://files.pythonhosted.org/packages/c0/ea/01276740375bac6249d0a971ebdf6b4dc9ead0ee0a34ef3b5a88c1a9b0d4/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_x86_64.whl", upload-time = 2026-04-08T01:56:52Z, size = 4444641, hashes = { sha256 = "ffca7aa1d00cf7d6469b988c581598f2259e46215e0140af408966a24cf086ce" } }, | ||
| { url = "https://files.pythonhosted.org/packages/3d/4c/7d258f169ae71230f25d9f3d06caabcff8c3baf0978e2b7d65e0acac3827/cryptography-46.0.7-cp314-cp314t-manylinux_2_31_armv7l.whl", upload-time = 2026-04-08T01:56:54Z, size = 3967749, hashes = { sha256 = "60627cf07e0d9274338521205899337c5d18249db56865f943cbe753aa96f40f" } }, | ||
| { url = "https://files.pythonhosted.org/packages/b5/2a/2ea0767cad19e71b3530e4cad9605d0b5e338b6a1e72c37c9c1ceb86c333/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_aarch64.whl", upload-time = 2026-04-08T01:56:56Z, size = 4270942, hashes = { sha256 = "80406c3065e2c55d7f49a9550fe0c49b3f12e5bfff5dedb727e319e1afb9bf99" } }, | ||
| { url = "https://files.pythonhosted.org/packages/41/3d/fe14df95a83319af25717677e956567a105bb6ab25641acaa093db79975d/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_ppc64le.whl", upload-time = 2026-04-08T01:56:58Z, size = 4871079, hashes = { sha256 = "c5b1ccd1239f48b7151a65bc6dd54bcfcc15e028c8ac126d3fada09db0e07ef1" } }, | ||
| { url = "https://files.pythonhosted.org/packages/9c/59/4a479e0f36f8f378d397f4eab4c850b4ffb79a2f0d58704b8fa0703ddc11/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_x86_64.whl", upload-time = 2026-04-08T01:57:00Z, size = 4443999, hashes = { sha256 = "d5f7520159cd9c2154eb61eb67548ca05c5774d39e9c2c4339fd793fe7d097b2" } }, | ||
| { url = "https://files.pythonhosted.org/packages/28/17/b59a741645822ec6d04732b43c5d35e4ef58be7bfa84a81e5ae6f05a1d33/cryptography-46.0.7-cp314-cp314t-musllinux_1_2_aarch64.whl", upload-time = 2026-04-08T01:57:02Z, size = 4399191, hashes = { sha256 = "fcd8eac50d9138c1d7fc53a653ba60a2bee81a505f9f8850b6b2888555a45d0e" } }, | ||
| { url = "https://files.pythonhosted.org/packages/59/6a/bb2e166d6d0e0955f1e9ff70f10ec4b2824c9cfcdb4da772c7dd69cc7d80/cryptography-46.0.7-cp314-cp314t-musllinux_1_2_x86_64.whl", upload-time = 2026-04-08T01:57:04Z, size = 4655782, hashes = { sha256 = "65814c60f8cc400c63131584e3e1fad01235edba2614b61fbfbfa954082db0ee" } }, | ||
| { url = "https://files.pythonhosted.org/packages/95/b6/3da51d48415bcb63b00dc17c2eff3a651b7c4fed484308d0f19b30e8cb2c/cryptography-46.0.7-cp314-cp314t-win32.whl", upload-time = 2026-04-08T01:57:06Z, size = 3002227, hashes = { sha256 = "fdd1736fed309b4300346f88f74cd120c27c56852c3838cab416e7a166f67298" } }, | ||
| { url = "https://files.pythonhosted.org/packages/32/a8/9f0e4ed57ec9cebe506e58db11ae472972ecb0c659e4d52bbaee80ca340a/cryptography-46.0.7-cp314-cp314t-win_amd64.whl", upload-time = 2026-04-08T01:57:08Z, size = 3475332, hashes = { sha256 = "e06acf3c99be55aa3b516397fe42f5855597f430add9c17fa46bf2e0fb34c9bb" } }, | ||
| { url = "https://files.pythonhosted.org/packages/a7/7f/cd42fc3614386bc0c12f0cb3c4ae1fc2bbca5c9662dfed031514911d513d/cryptography-46.0.7-cp38-abi3-macosx_10_9_universal2.whl", upload-time = 2026-04-08T01:57:10Z, size = 7165618, hashes = { sha256 = "462ad5cb1c148a22b2e3bcc5ad52504dff325d17daf5df8d88c17dda1f75f2a4" } }, | ||
| { url = "https://files.pythonhosted.org/packages/a5/d0/36a49f0262d2319139d2829f773f1b97ef8aef7f97e6e5bd21455e5a8fb5/cryptography-46.0.7-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", upload-time = 2026-04-08T01:57:12Z, size = 4270628, hashes = { sha256 = "84d4cced91f0f159a7ddacad249cc077e63195c36aac40b4150e7a57e84fffe7" } }, | ||
| { url = "https://files.pythonhosted.org/packages/8a/6c/1a42450f464dda6ffbe578a911f773e54dd48c10f9895a23a7e88b3e7db5/cryptography-46.0.7-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-04-08T01:57:14Z, size = 4415405, hashes = { sha256 = "128c5edfe5e5938b86b03941e94fac9ee793a94452ad1365c9fc3f4f62216832" } }, | ||
| { url = "https://files.pythonhosted.org/packages/9a/92/4ed714dbe93a066dc1f4b4581a464d2d7dbec9046f7c8b7016f5286329e2/cryptography-46.0.7-cp38-abi3-manylinux_2_28_aarch64.whl", upload-time = 2026-04-08T01:57:16Z, size = 4272715, hashes = { sha256 = "5e51be372b26ef4ba3de3c167cd3d1022934bc838ae9eaad7e644986d2a3d163" } }, | ||
| { url = "https://files.pythonhosted.org/packages/b7/e6/a26b84096eddd51494bba19111f8fffe976f6a09f132706f8f1bf03f51f7/cryptography-46.0.7-cp38-abi3-manylinux_2_28_ppc64le.whl", upload-time = 2026-04-08T01:57:19Z, size = 4918400, hashes = { sha256 = "cdf1a610ef82abb396451862739e3fc93b071c844399e15b90726ef7470eeaf2" } }, | ||
| { url = "https://files.pythonhosted.org/packages/c7/08/ffd537b605568a148543ac3c2b239708ae0bd635064bab41359252ef88ed/cryptography-46.0.7-cp38-abi3-manylinux_2_28_x86_64.whl", upload-time = 2026-04-08T01:57:21Z, size = 4450634, hashes = { sha256 = "1d25aee46d0c6f1a501adcddb2d2fee4b979381346a78558ed13e50aa8a59067" } }, | ||
| { url = "https://files.pythonhosted.org/packages/16/01/0cd51dd86ab5b9befe0d031e276510491976c3a80e9f6e31810cce46c4ad/cryptography-46.0.7-cp38-abi3-manylinux_2_31_armv7l.whl", upload-time = 2026-04-08T01:57:22Z, size = 3985233, hashes = { sha256 = "cdfbe22376065ffcf8be74dc9a909f032df19bc58a699456a21712d6e5eabfd0" } }, | ||
| { url = "https://files.pythonhosted.org/packages/92/49/819d6ed3a7d9349c2939f81b500a738cb733ab62fbecdbc1e38e83d45e12/cryptography-46.0.7-cp38-abi3-manylinux_2_34_aarch64.whl", upload-time = 2026-04-08T01:57:24Z, size = 4271955, hashes = { sha256 = "abad9dac36cbf55de6eb49badd4016806b3165d396f64925bf2999bcb67837ba" } }, | ||
| { url = "https://files.pythonhosted.org/packages/80/07/ad9b3c56ebb95ed2473d46df0847357e01583f4c52a85754d1a55e29e4d0/cryptography-46.0.7-cp38-abi3-manylinux_2_34_ppc64le.whl", upload-time = 2026-04-08T01:57:26Z, size = 4879888, hashes = { sha256 = "935ce7e3cfdb53e3536119a542b839bb94ec1ad081013e9ab9b7cfd478b05006" } }, | ||
| { url = "https://files.pythonhosted.org/packages/b8/c7/201d3d58f30c4c2bdbe9b03844c291feb77c20511cc3586daf7edc12a47b/cryptography-46.0.7-cp38-abi3-manylinux_2_34_x86_64.whl", upload-time = 2026-04-08T01:57:29Z, size = 4449961, hashes = { sha256 = "35719dc79d4730d30f1c2b6474bd6acda36ae2dfae1e3c16f2051f215df33ce0" } }, | ||
| { url = "https://files.pythonhosted.org/packages/a5/ef/649750cbf96f3033c3c976e112265c33906f8e462291a33d77f90356548c/cryptography-46.0.7-cp38-abi3-musllinux_1_2_aarch64.whl", upload-time = 2026-04-08T01:57:31Z, size = 4401696, hashes = { sha256 = "7bbc6ccf49d05ac8f7d7b5e2e2c33830d4fe2061def88210a126d130d7f71a85" } }, | ||
| { url = "https://files.pythonhosted.org/packages/41/52/a8908dcb1a389a459a29008c29966c1d552588d4ae6d43f3a1a4512e0ebe/cryptography-46.0.7-cp38-abi3-musllinux_1_2_x86_64.whl", upload-time = 2026-04-08T01:57:33Z, size = 4664256, hashes = { sha256 = "a1529d614f44b863a7b480c6d000fe93b59acee9c82ffa027cfadc77521a9f5e" } }, | ||
| { url = "https://files.pythonhosted.org/packages/4b/fa/f0ab06238e899cc3fb332623f337a7364f36f4bb3f2534c2bb95a35b132c/cryptography-46.0.7-cp38-abi3-win32.whl", upload-time = 2026-04-08T01:57:34Z, size = 3013001, hashes = { sha256 = "f247c8c1a1fb45e12586afbb436ef21ff1e80670b2861a90353d9b025583d246" } }, | ||
| { url = "https://files.pythonhosted.org/packages/d2/f1/00ce3bde3ca542d1acd8f8cfa38e446840945aa6363f9b74746394b14127/cryptography-46.0.7-cp38-abi3-win_amd64.whl", upload-time = 2026-04-08T01:57:36Z, size = 3472985, hashes = { sha256 = "506c4ff91eff4f82bdac7633318a526b1d1309fc07ca76a3ad182cb5b686d6d3" } }, | ||
| { url = "https://files.pythonhosted.org/packages/63/0c/dca8abb64e7ca4f6b2978769f6fea5ad06686a190cec381f0a796fdcaaba/cryptography-46.0.7-pp311-pypy311_pp73-macosx_11_0_arm64.whl", upload-time = 2026-04-08T01:57:38Z, size = 3476879, hashes = { sha256 = "fc9ab8856ae6cf7c9358430e49b368f3108f050031442eaeb6b9d87e4dcf4e4f" } }, | ||
| { url = "https://files.pythonhosted.org/packages/3a/ea/075aac6a84b7c271578d81a2f9968acb6e273002408729f2ddff517fed4a/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", upload-time = 2026-04-08T01:57:40Z, size = 4219700, hashes = { sha256 = "d3b99c535a9de0adced13d159c5a9cf65c325601aa30f4be08afd680643e9c15" } }, | ||
| { url = "https://files.pythonhosted.org/packages/6c/7b/1c55db7242b5e5612b29fc7a630e91ee7a6e3c8e7bf5406d22e206875fbd/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", upload-time = 2026-04-08T01:57:42Z, size = 4385982, hashes = { sha256 = "d02c738dacda7dc2a74d1b2b3177042009d5cab7c7079db74afc19e56ca1b455" } }, | ||
| { url = "https://files.pythonhosted.org/packages/cb/da/9870eec4b69c63ef5925bf7d8342b7e13bc2ee3d47791461c4e49ca212f4/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", upload-time = 2026-04-08T01:57:44Z, size = 4219115, hashes = { sha256 = "04959522f938493042d595a736e7dbdff6eb6cc2339c11465b3ff89343b65f65" } }, | ||
| { url = "https://files.pythonhosted.org/packages/f4/72/05aa5832b82dd341969e9a734d1812a6aadb088d9eb6f0430fc337cc5a8f/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", upload-time = 2026-04-08T01:57:46Z, size = 4385479, hashes = { sha256 = "3986ac1dee6def53797289999eabe84798ad7817f3e97779b5061a95b0ee4968" } }, | ||
| { url = "https://files.pythonhosted.org/packages/20/2a/1b016902351a523aa2bd446b50a5bc1175d7a7d1cf90fe2ef904f9b84ebc/cryptography-46.0.7-pp311-pypy311_pp73-win_amd64.whl", upload-time = 2026-04-08T01:57:48Z, size = 3412829, hashes = { sha256 = "258514877e15963bd43b558917bc9f54cf7cf866c38aa576ebf47a77ddbc43a4" } }, | ||
| ] |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
cryptography 46.0.7 release notes changelog
💡 Result:
PyCA cryptography 46.0.7 was released on April 8, 2026 (noted in announcements, though changelog lists January 27 possibly pre-update). Key changes: - SECURITY ISSUE: Fixed an issue where non-contiguous buffers could be passed to APIs that accept Python buffers (e.g., Hash.update), potentially leading to buffer overflow. CVE-2026-39892. Affected versions: >=45.0.0 <46.0.7. Example: h = Hash(SHA256); h.update(buf[::-1]) could read past buffer end on Python >3.11. - Updated Windows, macOS, and Linux wheels to use OpenSSL 3.5.6. Official changelog: https://cryptography.io/en/stable/changelog/#46-0-7 PyPI release: https://pypi.org/project/cryptography/46.0.7/ GitHub advisory: GHSA-p423-j2cm-9vmq
Citations:
- 1: https://cryptography.io/en/stable/changelog/
- 2: https://seclists.org/oss-sec/2026/q2/51
- 3: https://pypi.org/project/cryptography/
Update PR description to document the security fix for cryptography 46.0.7
The cryptography bump from 46.0.5 to 46.0.7 is intentional: it fixes CVE-2026-39892, a buffer overflow vulnerability affecting versions >=45.0.0 <46.0.7. Since the intent is to address the Keras CVE, clarify in the PR description that this security update to cryptography is included alongside it. Verify the same applies to the other three lockfiles.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@jupyter/tensorflow/ubi9-python-3.12/pylock.toml` around lines 747 - 800,
Update the PR description to explicitly state that the cryptography package was
bumped from 46.0.5 to 46.0.7 to remediate CVE-2026-39892 (buffer overflow
affecting >=45.0.0 <46.0.7) alongside the Keras CVE; reference the package entry
"name = \"cryptography\"" and the new "version = \"46.0.7\"" in the pylock.toml
diff and add a short note that this is a security-only change. Also check the
other three lockfiles for the same "cryptography" version change and, if
present, add the same CVE note to the PR so reviewers know the cryptography bump
is intentional and security-motivated.
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
repo="red-hat-data-services/notebooks"
pr="2137"
printf '%s\n' '--- Current PR body ---'
gh pr view "$pr" --repo "$repo" --json body --jq '.body'
printf '%s\n' '--- cryptography changes in the PR ---'
git diff --unified=2 "origin/rhoai-2.25...HEAD" -- \
'jupyter/tensorflow/ubi9-python-3.12/pylock.toml' \
'jupyter/rocm/tensorflow/ubi9-python-3.12/pylock.toml' \
'runtimes/tensorflow/ubi9-python-3.12/pylock.toml' \
'runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml' \
| grep -E -B2 -A3 'name = "cryptography"|version = "46\.0\.(5|7)"' || trueLength of output: 2021
@jiridanek, I double-checked PR #2137. The current description still does not mention the incidental cryptography 46.0.5 → 46.0.7 security update or CVE-2026-39892, so this finding remains open.
Please add a brief Summary bullet such as:
Regenerated locks also update
cryptographyfrom 46.0.5 to 46.0.7, remediating CVE-2026-39892; this is an intentional security-only transitive dependency update.
The local comparison of the other lockfiles was inconclusive because origin/rhoai-2.25 was unavailable in the sandbox, but the supplied diff confirms this update in the reviewed lockfile.
🧠 Learnings used
Learnt from: jiridanek
Repo: red-hat-data-services/notebooks PR: 2192
File: runtimes/pytorch+llmcompressor/ubi9-python-3.12/pyproject.toml:55-58
Timestamp: 2026-05-05T11:18:20.110Z
Learning: In red-hat-data-services/notebooks, do not regenerate or update per-image pylock.toml files as part of CVE-fix PRs. This is intentional to avoid public-index vs RH-index diff noise; lock regeneration should be handled by CI/maintainers instead. During review, tolerate that pylock.toml may be stale relative to dependency overrides added in the corresponding pyproject.toml (e.g., pyproject overrides like pyasn1>=0.6.2), and check that deviations are intentional for the affected images rather than treating them as accidental drift.
0cebd7c to
d986b10
Compare
|
Rebased onto current Prefer merge via same-repo PR (full CI with subscription/AIPCC secrets): #2635 Build Notebooks (push): https://github.com/red-hat-data-services/notebooks/actions/runs/30372605566 Fork PR CI cannot use |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## rhoai-2.25 #2137 +/- ##
============================================
Coverage ? 0
============================================
Files ? 0
Lines ? 0
Branches ? 0
============================================
Hits ? 0
Misses ? 0
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
/build-konflux |
d986b10 to
6ae9aaa
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Thanks @swattamw2024 — rebased this branch onto current
After rebase, the keras commit is fully superseded by the merged CVE batch in #2634 ( Closing as superseded by #2634 — your original change is landed; no further action needed on this PR. |
Summary
~=3.13.2to>=3.14.0(locks resolve to 3.15.0) to fix CVE-2026-1462 (Keras safe_mode bypass via TFSMLayer deserialization)keras>=3.14.0todependencies/cve-constraints.txtand regenerates TensorFlowpylock.tomlfilesPrefer same-repo PR for merge / full CI: #2635
Build Notebooks (push): https://github.com/red-hat-data-services/notebooks/actions/runs/30372605566
Fork PR CI cannot use
SUBSCRIPTION_*/AIPCC_QUAY_BOT_*/GIT_CRYPT_KEYsecrets — use #2635 for validation.Test plan
pylock.tomlfiles pin keras to >=3.14.0 (3.15.0)rhoai-2.25