Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

nvd логотип

CVE-2021-23336

Опубликовано: 15 фев. 2021
Источник: nvd
CVSS3: 5.9
CVSS2: 4
EPSS Низкий

Уязвимость отравления веб-кэша через некорректную обработку параметров в компоненте "urllib.parse" в Python

Описание

Пакеты python/cpython с версией от 0 до 3.6.13, от 3.7.0 до 3.7.10, от 3.8.0 до 3.8.8 и от 3.9.0 до 3.9.2 уязвимы к атаке "отравление веб-кэша" (Web Cache Poisoning) через функции urllib.parse.parse_qsl и urllib.parse.parse_qs с использованием метода, известного как "маскирование параметров" (parameter cloaking).

Эта уязвимость возникает, когда злоумышленник использует символ точки с запятой (;) для разделения параметров запроса. Это приводит к расхождению в интерпретации запроса между прокси-сервером (работающим с настройками по умолчанию) и основным сервером. В результате вредоносные запросы могут быть кэшированы как полностью безопасные, так как прокси обычно не воспринимает точку с запятой как разделитель параметров и, соответственно, не учитывает её в ключе кэширования для неименованных параметров.

Затронутые версии ПО

  • Python/cpython от версии 0 до 3.6.13
  • Python/cpython от версии 3.7.0 до 3.7.10
  • Python/cpython от версии 3.8.0 до 3.8.8
  • Python/cpython от версии 3.9.0 до 3.9.2

Тип уязвимости

Отравление веб-кэша (Web Cache Poisoning)

Ссылки

Уязвимые конфигурации

Конфигурация 1

Одно из

cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия до 3.6.13 (исключая)
cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия от 3.7.0 (включая) до 3.7.10 (исключая)
cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия от 3.8.0 (включая) до 3.8.8 (исключая)
cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия от 3.9.0 (включая) до 3.9.2 (исключая)
Конфигурация 2

Одно из

cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*
Конфигурация 3
cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*
Конфигурация 4

Одно из

cpe:2.3:a:netapp:cloud_backup:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:inventory_collect_tool:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:ontap_select_deploy_administration_utility:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:snapcenter:-:*:*:*:*:*:*:*
Конфигурация 5

Одно из

cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
Версия от 2.2 (включая) до 2.2.19 (исключая)
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
Версия от 3.0 (включая) до 3.0.13 (исключая)
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
Версия от 3.1 (включая) до 3.1.7 (исключая)
Конфигурация 6

Одно из

cpe:2.3:a:oracle:communications_offline_mediation_controller:12.0.0.3.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:communications_pricing_design_center:12.0.0.3.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:enterprise_manager_ops_center:12.4.0.0:*:*:*:*:*:*:*
cpe:2.3:o:oracle:zfs_storage_appliance:8.8:*:*:*:*:*:*:*

EPSS

Процентиль: 55%
0.00326
Низкий

5.9 Medium

CVSS3

4 Medium

CVSS2

Дефекты

CWE-444

Связанные уязвимости

CVSS3: 5.9
ubuntu
больше 4 лет назад

The package python/cpython from 0 and before 3.6.13, from 3.7.0 and before 3.7.10, from 3.8.0 and before 3.8.8, from 3.9.0 and before 3.9.2 are vulnerable to Web Cache Poisoning via urllib.parse.parse_qsl and urllib.parse.parse_qs by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

CVSS3: 5.9
redhat
больше 4 лет назад

The package python/cpython from 0 and before 3.6.13, from 3.7.0 and before 3.7.10, from 3.8.0 and before 3.8.8, from 3.9.0 and before 3.9.2 are vulnerable to Web Cache Poisoning via urllib.parse.parse_qsl and urllib.parse.parse_qs by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

CVSS3: 5.9
msrc
9 месяцев назад

Описание отсутствует

CVSS3: 5.9
debian
больше 4 лет назад

The package python/cpython from 0 and before 3.6.13, from 3.7.0 and be ...

suse-cvrf
больше 4 лет назад

Security update for python

EPSS

Процентиль: 55%
0.00326
Низкий

5.9 Medium

CVSS3

4 Medium

CVSS2

Дефекты

CWE-444