PT-2021-3621 · Apache+10 · Apache Tomcat+10

Publicado

2021-02-13

·

Atualizado

2026-05-18

·

CVE-2021-23336

CVSS v3.1

5.9

Média

VetorAV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H
Nome do software vulnerável e versões afetadas
python/cpython versões 0 a 3.6.13
python/cpython versões 3.7.0 a 3.7.10
python/cpython versões 3.8.0 a 3.8.8
python/cpython versões 3.9.0 a 3.9.2
Descrição
O problema está relacionado ao Web Cache Poisoning via urllib.parse.parse qsl e urllib.parse.parse qs, utilizando um vetor chamado “parameter cloaking”. Quando um invasor consegue separar parâmetros de consulta usando um ponto-e-vírgula (;), ele pode causar uma diferença na interpretação da solicitação entre o proxy (executado com configuração padrão) e o servidor. Isso pode resultar em solicitações maliciosas sendo armazenadas em cache como se fossem totalmente seguras. A vulnerabilidade decorre do comportamento inesperado nas funções de tratamento de parâmetros. Por exemplo, no caso do Apache Tomcat, ao analisar dois parâmetros idênticos, ele considera o valor da primeira ocorrência.
Recomendações
Para as versões 0 a 3.6.13, atualize para uma versão posterior à 3.6.13 para resolver o problema.
Para as versões 3.7.0 a 3.7.10, atualize para uma versão posterior à 3.7.10 para resolver o problema.
Para as versões 3.8.0 a 3.8.8, atualize para uma versão posterior à 3.8.8 para resolver o problema.
Para as versões 3.9.0 a 3.9.2, atualize para uma versão posterior à 3.9.2 para resolver o problema.
Como solução alternativa temporária, considere restringir o uso das funções urllib.parse.parse qsl e urllib.parse.parse qs até que um patch esteja disponível. Evite usar o ponto-e-vírgula (;) como separador nos parâmetros de consulta

Exploit

Correção

HTTP Request/Response Smuggling

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

ALSA-2021:4151
ALSA-2021:4162
ALT-PU-2021-1412
ALT-PU-2021-2420
ALT-PU-2021-2478
ALT-PU-2021-2653
ALT-PU-2024-3474
AZL-6827
BDU:2021-03763
BIT-DJANGO-2021-23336
BIT-LIBPYTHON-2021-23336
BIT-PYTHON-2021-23336
BIT-PYTHON-MIN-2021-23336
CESA-2021_1633
CESA-2021_4151
CESA-2021_4162
CLEANSTART-2026-BM51903
CLEANSTART-2026-SY44974
CVE-2021-23336
DLA-2569-1
DLA-2619-1
DLA-2628-1
DLA-3164-1
DLA-3575-1
MGASA-2021-0135
MGASA-2021-0165
OESA-2021-1125
OPENSUSE-SU-2021:0435-1
OPENSUSE-SU-2021_0435-1
OPENSUSE-SU-2024:11202-1
OPENSUSE-SU-2024:11279-1
OPENSUSE-SU-2024:11283-1
OPENSUSE-SU-2024:11284-1
OPENSUSE-SU-2024:11285-1
OPENSUSE-SU-2024:11286-1
OPENSUSE-SU-2024:12089-1
OPENSUSE-SU-2024:12893-1
OPENSUSE-SU-2024:12910-1
OPENSUSE-SU-2024:14037-1
OPENSUSE-SU-2024:14109-1
OPENSUSE-SU-2024:14434-1
OPENSUSE-SU-2025:15713-1
PSF-2021-1
RHSA-2021:1633
RHSA-2021:3252
RHSA-2021:3254
RHSA-2021:4151
RHSA-2021:4162
RHSA-2021_1633
RHSA-2021_4151
RHSA-2021_4162
RLSA-2021:4151
RLSA-2021:4162
ROSA-SA-2025-2646
SNYK-UPSTREAM-PYTHONCPYTHON-1074933
SUSE-FU-2022:0444-1
SUSE-FU-2022:0445-1
SUSE-SU-2021:0768-1
SUSE-SU-2021:0794-1
SUSE-SU-2021:0886-1
SUSE-SU-2021:0887-1
SUSE-SU-2021:0947-1
SUSE-SU-2021:1962-1
SUSE-SU-2021:2554-1
SUSE-SU-2021_0768-1
SUSE-SU-2021_0886-1
SUSE-SU-2021_0887-1
SUSE-SU-2021_0947-1
USN-4742-1

Produtos afetados

Alt Linux
Almalinux
Apache Tomcat
Astra Linux
Centos
Linuxmint
Red Hat
Rocky Linux
Suse
Ubuntu
Python