Python 2.6.8/2.7.3/3.3.2 HTTP read_status HTTP Header отказ в обслуживании

CVSS Meta Temp ScoreТекущая цена эксплойта (≈)Балл интереса CTI
7.2$0-$5k0.00

СводкаИнформация

Уязвимость была найдена в Python 2.6.8/2.7.3/3.3.2. Она была классифицирована как проблематичный. Неизвестная функция компонента HTTP Handler поражена. Манипуляция в рамках HTTP Header приводит к отказ в обслуживании. Эта уязвимость была названа CVE-2013-1752. Эксплойт отсутствует. Рекомендуется произвести апгрейд соответствующего компонента.

ПодробностиИнформация

Уязвимость была найдена в Python 2.6.8/2.7.3/3.3.2. Она была классифицирована как проблематичный. Неизвестная функция компонента HTTP Handler поражена. Манипуляция в рамках HTTP Header приводит к отказ в обслуживании. Использование CWE для описания проблемы приводит к CWE-404. Слабость была опубликована 25.09.2012 специалистом Christian Heimes от компании OUSPG под идентификатором Issue16037 как Bug Report (Веб-сайт). Консультация доступна по адресу bugs.python.org.

Эта уязвимость была названа CVE-2013-1752. CVE был назначен 15.02.2013. Доступна техническая информация. Популярность этой уязвимости ниже среднего. Эксплойт отсутствует. На текущий момент стоимость эксплойта может быть примерно USD $0-$5k. В бюллетене отмечено:

The httplib module / package can read arbitrary amounts of data from its socket when it's parsing the HTTP header. This may lead to issues when a user connects to a broken HTTP server or something that isn't a HTTP at all. The issue can be broken up into two parts: parsing the HTTP status line parsing and parsing the remaining HTTP headers.

Это объявлено как Не определено. В 0-дневный период предполагаемая подземная цена составляла около $0-$5k. Сканер уязвимостей Nessus содержит плагин с ID 75315. Это относится к семейству SuSE Local Security Checks. Этот плагин выполняется в контексте типа l. Он использует порт 0. Коммерческий сканер уязвимостей Qualys способен проверить эту проблему с помощью плагина 350081 (Amazon Linux Security Advisory for python26: ALAS-2015-621).

Установка версии 2.7.4, 2.6.9 и 3.3.3 позволяет решить данный вопрос. Последняя версия доступна для скачивания по ссылке hg.python.org. Рекомендуется произвести апгрейд соответствующего компонента. Данная уязвимость будет решена с помощью следующих строк кода:

--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@ -362,7 +362,9 @

def _read_status(self): # Initialize with Simple-Response defaults - line = self.fp.readline() + line = self.fp.readline(_MAXLINE + 1) + if len(line) > _MAXLINE: + raise LineTooLong("header line") if self.debuglevel > 0: print "reply:", repr(line) if not line:

В уведомлении содержится следующий комментарий:
Reading and parsing of the HTTP status line is already limited in Python 3.x. Python 2.7 and lower may read arbitrary amounts of bytes from the socket until it finds a newline char. (…) Both Python 2 and Python 3 accept an unlimited count of HTTP headers with a maximum length of 64k each. As headers are accumulated in an list it may consume lots of memory. I suggest that we limit the maximum amount of HTTP header lines to a sane value. How does 100 sound to you?

Уязвимость также задокументирована в других базах данных уязвимостей: SecurityFocus (BID 61050), X-Force (90056), Secunia (SA56226), Vulnerability Center (SBV-57793) и Tenable (75315).

ПродуктИнформация

Тип

Имя

Версия

Лицензия

CPE 2.3Информация

CPE 2.2Информация

CVSSv4Информация

VulDB Вектор: 🔍
VulDB Надёжность: 🔍

CVSSv3Информация

VulDB Meta Base Score: 7.5
VulDB Meta Temp Score: 7.2

VulDB Базовый балл: 7.5
VulDB Временная оценка: 7.2
VulDB Вектор: 🔍
VulDB Надёжность: 🔍

CVSSv2Информация

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
ВекторСложностьАутентификацияКонфиденциальностьЦелостностьДоступность
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать

VulDB Базовый балл: 🔍
VulDB Временная оценка: 🔍
VulDB Надёжность: 🔍

ЭксплуатацияИнформация

Класс: отказ в обслуживании
CWE: CWE-404
CAPEC: 🔍
ATT&CK: 🔍

Физический: Нет
Локальный: Нет
Удалённый: Да

Доступность: 🔍
Статус: Не определено
Прогноз цен: 🔍
Оценка текущей цены: 🔍

0-DayРазблокироватьРазблокироватьРазблокироватьРазблокировать
СегодняРазблокироватьРазблокироватьРазблокироватьРазблокировать

Nessus ID: 75315
Nessus Имя: openSUSE Security Update : python3 (openSUSE-SU-2014:0498-1)
Nessus Файл: 🔍
Nessus Риск: 🔍
Nessus Семейство: 🔍
Nessus Context: 🔍
Nessus Port: 🔍

OpenVAS ID: 14611
OpenVAS Имя: Amazon Linux Local Check: alas-2015-621
OpenVAS Файл: 🔍
OpenVAS Семейство: 🔍

Qualys ID: 🔍
Qualys Имя: 🔍

Разведка угрозИнформация

Интерес: 🔍
Активные акторы: 🔍
Активные группы APT: 🔍

КонтрмерыИнформация

Рекомендация: Обновление
Статус: 🔍

Время реакции: 🔍
0-дневное время: 🔍
Время экспозиции: 🔍

Обновление: Python 2.7.4/2.6.9/3.3.3

ХронологияИнформация

25.09.2012 🔍
25.09.2012 +0 дни 🔍
15.02.2013 +143 дни 🔍
09.07.2013 +144 дни 🔍
27.12.2013 +171 дни 🔍
27.12.2013 +0 дни 🔍
04.04.2014 +98 дни 🔍
13.06.2014 +70 дни 🔍
29.03.2016 +655 дни 🔍
03.02.2019 +1041 дни 🔍

ИсточникиИнформация

Консультация: Issue16037
Исследователь: Christian Heimes
Организация: OUSPG
Статус: Подтверждённый

CVE: CVE-2013-1752 (🔍)
GCVE (CVE): GCVE-0-2013-1752
GCVE (VulDB): GCVE-100-11633

OVAL: 🔍

X-Force: 90056
SecurityFocus: 61050 - Google Chrome CVE-2013-2877 Out of Bounds Denial of Service Vulnerability
Secunia: 56226 - Python Multiple Vulnerabilities, Less Critical
OSVDB: 101386
Vulnerability Center: 57793 - Python SSL Module Remote DoS due to Unlimited readline() Function Call, Medium

Смотрите также: 🔍

ВходИнформация

Создано: 27.12.2013 23:38
Обновлено: 03.02.2019 10:15
Изменения: 27.12.2013 23:38 (76), 03.02.2019 10:15 (8)
Завершенный: 🔍
Cache ID: 216:BB3:103

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Обсуждение

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!