Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

google-auth: Thread safety race condition during 401 client certificate rotation in transports

Aberta
#17,756 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@agrawalradhika-cell já está trabalhando nisso.

Desde 19/8/2026.

  • #18168 de @agrawalradhika-cell — aberto

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
72/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Pouca atividade
Stack de tecnologia
python
Domínio
networking, security

Direção de pesquisa

Comece em google.auth.transport.requests e google.auth.transport.urllib3, concentrando-se nos manipuladores de transporte HTTP que chamam configure_mtls_channel após uma resposta 401. Rastreie os caminhos de reconfiguração de shared-session e pool-manager e, em seguida, verifique se as rotações concorrentes de certificados são serializadas e se nenhuma mutação de adapter ou pool-manager ocorre simultaneamente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

auth priority: p2 type: bug

When handling 401 Unauthorized responses, the HTTP transport interceptors in google.auth.transport.requests and google.auth.transport.urllib3 attempt to auto-rotate expired mTLS client certificates by calling configure_mtls_channel().

In multi-threaded environments, if multiple threads share an authorized session and hit a 401 concurrently, they will trigger the certificate rotation at the same time. Because there is no synchronization lock, this leads to race conditions. Multiple threads will redundantly read the updated certificates and concurrently mutate the underlying session's adapter mappings (requests.Session.adapters) or pool managers, which is not thread-safe and can cause runtime exceptions.

We should introduce a lock (e.g., using threading.Lock) around the configure_mtls_channel reconfiguration block inside the transport handlers to ensure that certificate rotation is performed serially.

Linguagem predominante
Python
Estrelas
5.4k
Forks
1.8k
Merge médio
2d 13h
PRs com merge (30d)
159

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de googleapis/google-cloud-python

Todas as issues de googleapis/google-cloud-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.