fix(deps): bump pyOpenSSL to 26.3.0 and msal to 1.37.0 for CVE-2026-34180 - #4270
Merged
Merged
Conversation
…4180 CVE-2026-34180 is a heap buffer over-read in OpenSSL's ASN.1 decoder (d2i_* functions), which is bundled inside the cryptography wheel. The wheel shipped OpenSSL 3.5.6 (affected: 3.5.0 <= x < 3.5.7). cryptography is a transitive dependency; pyOpenSSL 26.0.0 capped it at <47 and msal 1.32.3 capped it at <47, both pinning the vulnerable OpenSSL. Bumping pyOpenSSL to 26.3.0 (requires cryptography>=49.0.0) and msal to 1.37.0 (allows cryptography<51) lets the resolver pull cryptography 49.0.0, whose wheels ship OpenSSL 4.0.1 with the fix. Part of CVE-2026-34180 (proactive dependency bump; no internal issue). Co-authored-by: Cursor <cursoragent@cursor.com>
Jan-Kazlouski-elastic
requested review from
artem-shelkovnikov and
erikcurrin-elastic
July 24, 2026 14:32
erikcurrin-elastic
approved these changes
Jul 24, 2026
artem-shelkovnikov
approved these changes
Jul 24, 2026
Jan-Kazlouski-elastic
enabled auto-merge (squash)
July 24, 2026 14:43
This was referenced Jul 24, 2026
Merged
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 24, 2026
…2026-34180 (#4270) (#4271) Backports the following commits to 9.5: - fix(deps): bump pyOpenSSL to 26.3.0 and msal to 1.37.0 for CVE-2026-34180 (#4270) Co-authored-by: Jan-Kazlouski-elastic <jan.kazlouski@elastic.co> Co-authored-by: Cursor <cursoragent@cursor.com>
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 24, 2026
…2026-34180 (#4270) (#4272) Backports the following commits to 9.4: - fix(deps): bump pyOpenSSL to 26.3.0 and msal to 1.37.0 for CVE-2026-34180 (#4270) Co-authored-by: Jan-Kazlouski-elastic <jan.kazlouski@elastic.co> Co-authored-by: Cursor <cursoragent@cursor.com>
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 27, 2026
…-2026-34180 (#4270) (#4273) Backports the following commits to 8.19: - fix(deps): bump pyOpenSSL to 26.3.0 and msal to 1.37.0 for CVE-2026-34180 (#4270) Made with [Cursor](https://cursor.com) Co-authored-by: Cursor <cursoragent@cursor.com>
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 27, 2026
…2026-34180 (#4270) (#4285) Backports the following commits to 9.3: - fix(deps): bump pyOpenSSL to 26.3.0 and msal to 1.37.0 for CVE-2026-34180 (#4270) Co-authored-by: Jan-Kazlouski-elastic <jan.kazlouski@elastic.co> Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Part of https://github.com/elastic/security/issues/12757 (CVE-2026-34180)
Description
Proactive dependency bump to remediate CVE-2026-34180, a heap buffer over-read in OpenSSL's ASN.1 decoder (
d2i_*functions) when parsing a crafted DER structure with a primitive element exceeding 2 GB on 64-bit Unix-like platforms (CWE-125, CVSS 7.5 HIGH — DoS / out-of-bounds memory read). Fixed in OpenSSL 4.0.1 / 3.6.3 / 3.5.7 / 3.4.6 / 3.0.21.In this codebase the vulnerable OpenSSL is statically bundled inside the
cryptographywheel (a transitive dependency). The resolvedcryptography46.0.7 wheel ships OpenSSL 3.5.6, which is affected (3.5.0 <= x < 3.5.7).cryptographywas capped below the fix by two parents:pyOpenSSL==26.0.0→cryptography<47msal==1.32.3→cryptography<47This PR bumps both parents so the resolver can pull a fixed
cryptography:pyOpenSSL26.0.0 → 26.3.0 (requirescryptography>=49.0.0)msal1.32.3 → 1.37.0 (allowscryptography<51)Result:
cryptographyresolves to 49.0.0, whose wheels ship OpenSSL 4.0.1 (fixed).NOTICE.txtregenerated accordingly.Bundled OpenSSL confirmed via
cryptography's backend: before 3.5.6 → after 4.0.1.Affected assessment
Not Affected. The vulnerable
d2i_*decoders are present, but exploitation requires an attacker to feed a crafted DER ASN.1 structure with a >2 GB primitive element into the decoder. Connectors only initiates outbound connections to operator-configured third-party data sources; it is not a public-facing service accepting arbitrary attacker-controlled certificates/DER blobs, so the input to the affected code path cannot be attacker-controlled. Bumped proactively regardless.Scanner A/B (
CVE-2026-34180)Snyk (which tracks the OpenSSL bundled in the
cryptographywheel) reported the CVE on the pre-fix set and cleared it after the bump. pip-audit and Trivy do not map this OpenSSL CVE to the PyPI package, so they were inconclusive (not a fail).Checklists
Pre-Review Checklist
make clean install autoformat lint test— 2293 tests passed, 92.18% coverage)Changes Requiring Extra Attention
cryptography)Release Note
Bump
pyOpenSSLto 26.3.0 andmsalto 1.37.0 to pullcryptography49.0.0 (bundled OpenSSL 4.0.1), remediating CVE-2026-34180.Made with Cursor