googleapis / googleapis/google-cloud-python

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

Ouverte Adaptée aux débutants
#18,260 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
priority: p2 type: bug
Langage dominant
Python
Étoiles
5.4k
Forks
1.8k
Merge moyen
3 j 4 h
PR mergées (30 j)
122

Description

### 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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cryptography, python
Domaine
build-system, security, testing
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
Active
Clarté
Clairement spécifiée
Accessibilité débutants
78/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.