fix: Widen cryptography dependency to >=44.0.0,<47.0.0 for CVE-2026-26007#975
Draft
devin-ai-integration[bot] wants to merge 2 commits intomainfrom
Draft
fix: Widen cryptography dependency to >=44.0.0,<47.0.0 for CVE-2026-26007#975devin-ai-integration[bot] wants to merge 2 commits intomainfrom
devin-ai-integration[bot] wants to merge 2 commits intomainfrom
Conversation
…6007 The cryptography package was pinned to <45.0.0 due to upstream key loading regressions in 45.0.0 (pyca/cryptography#12958, #13126, #13196). Those regressions were fixed in 45.0.2+, and the pin now blocks the fix for CVE-2026-26007 (fixed in 46.0.5). Widen the constraint to <47.0.0 so the resolver picks up 46.0.6 (latest) which includes the CVE fix. Co-Authored-By: bot_apk <apk@cognition.ai>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksTesting This CDK VersionYou can test this version of the CDK using the following: # Run the CLI from this branch:
uvx 'git+https://github.com/airbytehq/airbyte-python-cdk.git@devin/1775067657-widen-cryptography-constraint#egg=airbyte-python-cdk[dev]' --help
# Update a connector to use the CDK from this branch ref:
cd airbyte-integrations/connectors/source-example
poe use-cdk-branch devin/1775067657-widen-cryptography-constraintPR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
|
PyTest Results (Fast)3 975 tests ±0 3 963 ✅ - 1 6m 54s ⏱️ -38s Results for commit 1ce5fe4. ± Comparison against base commit 69cd63d. This pull request skips 1 test.♻️ This comment has been updated with latest results. |
Use 'poetry update cryptography' instead of 'poetry lock' to avoid updating unrelated transitive dependencies that caused MyPy failures. Co-Authored-By: bot_apk <apk@cognition.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Widens the
cryptographypackage constraint from>=44.0.0,<45.0.0to>=44.0.0,<47.0.0to allow resolution of version 46.0.5+, which includes the fix for CVE-2026-26007.The
<45.0.0pin was added in #377 (March 2025) becausecryptography45.0.0 introduced regressions inload_pem_private_key()(pyca/cryptography#12958, pyca/cryptography#13126, pyca/cryptography#13196). Those upstream regressions were fixed in 45.0.2+, so the pin is no longer necessary.The lock file now resolves
cryptographyto 46.0.6.Resolves https://github.com/airbytehq/oncall/issues/11849:
Related: #956
Updates since last revision
Regenerated
poetry.lockusingpoetry update cryptography(instead of a fullpoetry lock) to minimize transitive dependency changes. Only three packages changed in the lock file:cryptographycffinumpyNote on lock file diff size: The diff appears large because the lock file was regenerated with Poetry 1.8.5 (lock-version
2.0), which stripsgroupsandmarkersmetadata lines that Poetry 2.0.1 (lock-version2.1) adds. The actual dependency version changes are limited to the three packages above.Review & Testing Checklist for Human
2.0), whereas the previous lock used Poetry 2.0.1 (lock-version2.1). This stripsgroupsandmarkersfields throughout the lock file. If the repo standardizes on Poetry 2.x, the lock should be regenerated with Poetry 2.x instead — this would produce a much smaller diff.cffiwas bumped from 1.17.1 to 2.0.0 as a transitive dependency ofcryptography. Verify no regressions from this major version change.cryptography.hazmat.primitives.serialization.load_pem_private_key()inairbyte_cdk/sources/declarative/auth/jwt.py:189. This was the function affected by the 45.0.0 regressions. Verify the existing JWT authenticator tests pass with cryptography 46.x.Recommended test plan: Let CI run the full test suite. A prior attempt (#968) ran 3,945 CDK tests with
cryptography <47.0.0and saw zero failures.Notes
<47.0.0and all tests passed. The cryptography change was reverted in that PR for unrelated reasons (precautionary), not due to test failures.Link to Devin session: https://app.devin.ai/sessions/4415d37e078741ed8d1ab92d3fc99743