FERRAMENTAS LINUX: RLSA-2026:32992 – Guia Técnico para Atualização do python3.12-urllib3 no Rocky Linux 8

quarta-feira, 1 de julho de 2026

RLSA-2026:32992 – Guia Técnico para Atualização do python3.12-urllib3 no Rocky Linux 8

 


Atualize python3.12-urllib3 no Rocky Linux 8 para corrigir CVE-2026-44431 (vazamento de headers) e CVE-2026-44432 (DoS por descompressão). Guia técnico completo com comandos.


Em 1º de julho de 2026, a Rocky Linux publicou o RLSA-2026:32992, um aviso de segurança de severidade Important para o pacote python3.12-urllib3. 

Este guia aborda a atualização deste componente crítico, presente em inúmeras aplicações que consomem APIs HTTP, desde microsserviços até ferramentas de automação com requests ou boto3.

Duas vulnerabilidades foram corrigidas:


Ambas são corrigidas na versão 2.7.0 do urllib3. A Rocky Linux backportou os patches para a versão 1.26.19-3.el8_10.

Pré-requisitos

Antes de iniciar, verifique:

Sistema: Rocky Linux 8 (qualquer subversão). Confirme com:

  • bash
    $ cat /etc/rocky-release
    Rocky Linux release 8.10 (Green Obsidian)

Pacote instalado: O pacote afetado é python3.12-urllib3. Verifique a versão atual:

bash
$ rpm -q python3.12-urllib3
python3.12-urllib3-1.26.19-1.el8_10.noarch

Se retornar package python3.12-urllib3 is not installed, este aviso não se aplica ao seu ambiente.

Acesso root ou sudo: Necessário para instalação de pacotes.

Repositórios atualizados: Certifique-se de que os repositórios base e updates estão configurados:

  • bash
    $ dnf repolist
    repo id                  repo name
    baseos                   Rocky Linux 8 - BaseOS
    appstream                Rocky Linux 8 - AppStream

Passo a Passo

1. Verificação do Estado Atual

Antes de qualquer alteração, documente o estado atual do sistema para fins de auditoria e rollback:

bash
$ rpm -qa | grep -E "urllib3|python3.12" | sort > ~/urllib3_pre_update.txt
$ dnf history list | head -5

Por que fazer isso ? Em ambientes de produção, ter um registro do estado pré-atualização é essencial para troubleshooting e para atender requisitos de conformidade (SOC2, ISO 27001).

2. Atualização do Pacote

A atualização é realizada via dnf:

bash
$ sudo dnf update python3.12-urllib3

Saída esperada (exemplo):

text
Dependencies resolved.
================================================================================
 Package                 Arch   Version                   Repository       Size
================================================================================
Upgrading:
 python3.12-urllib3      noarch 1.26.19-3.el8_10         baseos          204 k

Transaction Summary
================================================================================
Upgrade  1 Package

Total download size: 204 k
Is this ok [y/N]: y
Downloading Packages:
[####################] python3.12-urllib3-1.26.19-3.el8_10.noarch.rpm | 204 kB
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Upgrading        : python3.12-urllib3-1.26.19-3.el8_10.noarch            1/2
  Cleanup          : python3.12-urllib3-1.26.19-1.el8_10.noarch            2/2
  Verifying        : python3.12-urllib3-1.26.19-3.el8_10.noarch            1/2
  Verifying        : python3.12-urllib3-1.26.19-1.el8_10.noarch            2/2

Upgraded:
  python3.12-urllib3-1.26.19-3.el8_10.noarch

Complete!

Observação: O pacote é noarch (independente de arquitetura) e possui aproximadamente 204 KB.

3. Verificação Pós-Atualização

Confirme que a nova versão está instalada:

bash
$ rpm -q python3.12-urllib3
python3.12-urllib3-1.26.19-3.el8_10.noarch

4. Reinicialização de Serviços Dependentes

O urllib3 é uma biblioteca Python – não há um serviço systemd para reiniciar. No entanto, qualquer aplicação ou serviço que utilize esta biblioteca em memória precisa ser reiniciado para carregar a nova versão.

Identifique processos que podem estar usando a biblioteca:

bash
$ sudo lsof | grep -i urllib3 | head -20

Ou, mais pragmaticamente, reinicie os serviços que sabidamente dependem de Python e fazem requisições HTTP:

bash
$ sudo systemctl restart nome-do-seu-servico

Em ambientes com múltiplos microsserviços, considere uma reinicialização gradual (rolling restart) para evitar indisponibilidade.

5. Validação da Correção

Para validar que a vulnerabilidade CVE-2026-44432 foi corrigida, pode-se testar o comportamento de descompressão com uma resposta comprimida maliciosa (ambiente de teste, não produção). 

A correção está no backport para a versão 1.26.19-3, que inclui os patches do upstream 2.7.0.

Para o CVE-2026-44431, verifique se o código da sua aplicação utiliza o  ProxyManager com assert_same_host=False – este é um padrão de uso incomum; a maioria das aplicações não é afetada por este vetor específico.


Troubleshooting

Problema Comum: "Erro de dependência" ao atualizar

Cenário: Ao executar o dnf update python3.12-urllib3, o sistema retorna:

text
Error: Problem: package python3.12-urllib3-1.26.19-3.el8_10.noarch requires python3.12, but none of the providers can be installed

Causa: O pacote python3.12-urllib3 depende do Python 3.12, que pode não estar instalado ou pode ter sido removido acidentalmente.

Solução:

1. Verifique se o Python 3.12 está instalado:

  1. bash
    $ rpm -q python3.12
    python3.12-3.12.1-1.el8_10.x86_64

2. Se não estiver, instale-o:

  1. bash
    $ sudo dnf install python3.12

3. Em seguida, prossiga com a atualização do urllib3.

Por que isso acontece? O pacote python3.12-urllib3 é construído especificamente para a versão 3.12 do Python, que é a versão padrão no Rocky Linux 8.10. Em versões mais antigas do Rocky 8, pode ser necessário habilitar o AppStream ou o módulo python 3.12:

bash
$ sudo dnf module enable python3.12
$ sudo dnf install python3.12

Armadilha Comum (Common Pitfall)

"Atualizei o pacote, mas minha aplicação continua vulnerável"

Iniciantes frequentemente assumem que atualizar o pacote RPM é suficiente para proteger a aplicação. Isso é falso quando a aplicação utiliza uma versão embarcada (vendored) do urllib3.

Ferramentas como pip e requests podem ter suas próprias cópias do urllib3 no diretório site-packages. 

pacote RPM instala a biblioteca no sistema (/usr/lib/python3.12/site-packages/urllib3), mas se sua aplicação usa um virtualenv ou container com dependências congeladas, a atualização do RPM não afeta essas instalações isoladas.

Solução:

Em virtualenvs: ative o ambiente e atualize com pip:

  • bash
    $ source /path/to/venv/bin/activate
    $ pip install --upgrade urllib3

Em containers: reconstrua a imagem com a nova versão da dependência.

Verifique qual urllib3 sua aplicação está realmente carregando:

  • bash
    $ python3.12 -c "import urllib3; print(urllib3.__version__); print(urllib3.__file__)"
    1.26.19
    /usr/lib/python3.12/site-packages/urllib3/__init__.py

Conclusão


O RLSA-2026:32992 corrige duas vulnerabilidades de severidade Important no python3.12-urllib3 para Rocky Linux 8:

  • CVE-2026-44431: vazamento de headers sensíveis em redirecionamentos via ProxyManager.
  • CVE-2026-44432: DoS por descompressão excessiva (amplificação de dados).
A atualização é simples e segura: sudo dnf update python3.12-urllib3. O pacote atualizado é 1.26.19-3.el8_10.

Recomendações finais:

  1. Aplique a atualização em todos os sistemas Rocky Linux 8 que utilizam Python 3.12 para requisições HTTP.

  2. Reinicie todos os serviços que carregam a biblioteca em memória.

  3. Valide ambientes isolados (virtualenvs, containers) – a atualização do RPM não os cobre automaticamente.

  4. Monitore os logs e o consumo de recursos após a atualização para detectar regressões.

A manutenção proativa de bibliotecas HTTP é fundamental para a segurança de qualquer infraestrutura moderna. 

Esta atualização, embora pequena em tamanho, elimina dois vetores de ataque que poderiam comprometer dados sensíveis ou derrubar serviços com uma única requisição maliciosa.





Nenhum comentário:

Postar um comentário