googleapis / googleapis/google-cloud-python

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

未关闭 适合新手
#18,260 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
priority: p2 type: bug
主要语言
Python
星标
5.4k
派生
1.8k
平均合并
3 天 4 小时
30 天内合并 PR
122

描述

### Determine this is the right repository

- [x] 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`:

```shell
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.

贡献指南

打开贡献指南

调研方向

Start in packages/google-auth/setup.py and compare its cryptography markers with testing/constraints-3.10.txt and testing/constraints-3.14.txt. Run cd packages/google-auth && nox -s unit-3.14, then verify the supported Python constraints select installable, non-vulnerable cryptography releases and the unit session completes.

由索引模型根据 Issue 内容生成。

评估

技术栈
cryptography, python
领域
build-system, security, testing
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
活跃
描述清晰度
描述清楚
新手友好度
78/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。