googleapis / googleapis/google-cloud-python
google-auth: cryptography lower bounds fail on Python 3.14 and allow vulnerable releases
- Lenguaje dominante
- Python
- Estrellas
- 5.4k
- Forks
- 1.8k
- Merge medio
- 3 d 4 h
- PR fusionados (30 d)
- 122
Descripción
### 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.
Guía de contribución
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cryptography, python
- Área
- build-system, security, testing
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Activo
- Claridad
- Bien especificado
- Aptitud para principiantes
- 78/100