google-auth: cryptography lower bounds fail on Python 3.14 and allow vulnerable releases

オープン 初心者向け
#18,260 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
cryptography, python

調査の方向性

packages/google-auth/setup.py から始め、そこにある cryptography マーカーを testing/constraints-3.10.txt および testing/constraints-3.14.txt と比較します。cd packages/google-auth && nox -s unit-3.14 を実行し、サポート対象の Python の制約によってインストール可能で脆弱性のない cryptography リリースが選択され、unit セッションが完了することを確認します。

索引モデルが issue の本文から書いたものです。

説明

priority: p2 type: bug
Determine this is the right repository
  • I determined this is the correct repository in which to report this bug.
Summary of the issue

Context
Running google-auth unit tests with nox -s unit (or installing with the Python 3.14 constraints file) and reviewing the declared cryptography lower bounds.

Expected Behavior:

  • nox -s unit-3.14 should install dependencies and run tests.
  • Declared cryptography lower bounds should be installable on each supported Python version and should not include releases with known high-severity CVEs.

Actual Behavior:

  • On Python 3.14, pip fails with ResolutionImpossible. setup.py requires cryptography >= 41.0.5 and testing/constraints-3.14.txt pins cryptography==41.0.5, but 41.0.5 has no Python 3.14 wheels.
  • On Python 3.10–3.13, the lower bound is cryptography >= 38.0.3, which still allows 41.0.5 and other releases affected by CVE-2023-49083 and CVE-2026-26007 (fixed in 41.0.6 and 46.0.5).
API client name and version

google-auth v2.57.0

Reproduction steps: code

Run unit-tests for google-auth in packages/google-auth:

cd packages/google-auth
nox -s unit-3.14
Reproduction steps: supporting files

N/A — reproduced from current main using packages/google-auth/setup.py and packages/google-auth/testing/constraints-3.14.txt.

Reproduction steps: actual results
ERROR: Cannot install None because these package versions have conflicting dependencies.

The conflict is caused by:
    google-auth 2.57.0 depends on cryptography>=41.0.5; python_version >= "3.14"
    The user requested (constraint) cryptography==41.0.5

Additionally, some packages in these conflicts have no matching distributions available for your environment:
    cryptography
Reproduction steps: expected results

nox -s unit-3.14 creates the venv, installs google-auth with a cryptography version that has Python 3.14 wheels, and runs the unit tests.

OS & version + platform

No response

Python environment

No response

Python dependencies

N/A — install fails before tests run. Relevant pins from this repo:

setup.py:
cryptography >= 38.0.3; python_version < '3.14'
cryptography >= 41.0.5; python_version >= '3.14'

testing/constraints-3.10.txt: cryptography==38.0.3
testing/constraints-3.14.txt: cryptography==41.0.5

Additional context

Proposed fix:

  • Python 3.10–3.13: require cryptography >= 46.0.5 (CVE-2026-26007).
  • Python 3.14+: require cryptography >= 50.0.1 (first release with 3.14 wheels).
  • Update testing/constraints-3.10.txt and testing/constraints-3.14.txt to those lower bounds.

I will send a PR for this.

主要言語
Python
スター
5.4k
フォーク
1.8k
平均マージ
1日 17時間
マージ済み PR(30日)
93

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

googleapis/google-cloud-python のほかの issue

googleapis/google-cloud-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。