Раскрытие уязвимости

Если вы считаете, что обнаружили в requests потенциальную уязвимость системы безопасности, отправить электронное письмо разработчикам напрямую. Не подавайте публичную жалобу.

Наши отпечатки ключей PGP:

  • 8722 7E29 AD9C FF5C FAC3 EA6A 44D3 FF97 B80D C864 (nateprewitt)

  • EDD5 6765 A9D8 4653 CBC8 A134 51B0 6736 1740 F5FC (sethmlarson)

Вы также можете связаться с нами по телефону Keybase, используя указанные выше профили.

Если английский не является вашим родным языком, постарайтесь как можно лучше описать проблему и её последствия. Для получения более подробной информации используйте свой родной язык, и мы постараемся сделать всё возможное, чтобы перевести его с помощью онлайн-сервисов.

Также укажите код, который вы использовали для поиска проблемы, и кратчайший объём кода, необходимый для её воспроизведения.

Пожалуйста, никому об этом не сообщайте. При необходимости мы извлечём идентификатор CVE и предоставим вам полную информацию под любым именем или псевдонимом, которое вы укажете. Мы будем запрашивать идентификатор только тогда, когда у нас есть исправление и мы можем опубликовать его в релизе.

Мы уважаем вашу конфиденциальность и будем предавать гласности ваше участие только в том случае, если вы дадите нам разрешение.

Процесс

В следующей информации обсуждается процесс, которому следует проект requests в ответ на раскрытие уязвимостей. Если вы раскрываете уязвимость, этот раздел документации позволяет узнать, как мы будем реагировать на ваше раскрытие.

Лента новостей

Когда вы сообщаете о проблеме, один из участников проекта ответит вам в течение двух дней на внешней стороне. В большинстве случаев ответы будут быстрее, обычно в течение 12 часов. Этот первоначальный ответ как минимум подтвердит получение отчёта.

Если нам удалось быстро воспроизвести проблему, первоначальный ответ также будет содержать подтверждение проблемы. В противном случае мы часто будем запрашивать дополнительную информацию о сценарии воспроизведения.

Наша цель — исправить любую уязвимость, выпущенную в течение двух недель после первоначального раскрытия. Это может потенциально включать доставку промежуточного релиза, который просто отключает функцию, пока не будет подготовлено более зрелое исправление, но в подавляющем большинстве случаев будет означать отправку полной версии как можно скорее.

На протяжении всего процесса исправления мы будем держать вас в курсе того, как выполняется исправление. Как только исправление будет подготовлено, мы сообщим вам, что, по нашему мнению, у нас есть исправление. Часто мы просим вас подтвердить, что исправление решает проблему в вашей среде, особенно если мы не уверены в нашем сценарии воспроизведения.

На этом этапе мы будем готовиться к релизу. Мы получим номер CVE, если он потребуется, что даст вам полное право на открытие. Мы также определим запланированную дату релиза и сообщим вам, когда она наступит. Дата релиза всегда будний день.

На этом этапе мы свяжемся с нашими основными мейнтейнерами пакетов, чтобы уведомить их о приближающемся исправлении, связанном с безопасностью, чтобы они могли принять меры. Кроме того, этим мейнтейнерам заранее будет предоставлен намеченный патч, чтобы они могли быстро зарелизить свои последующие пакеты. В настоящее время в списке людей, с которыми мы активно контактируем, есть в преддверии публичного релиза:

  • Джереми Клайн, Red Hat

  • Даниэле Триколи, Debian

Мы уведомим этих людей по крайней мере за неделю до запланированной даты релиза, чтобы у них было достаточно времени для подготовки. Если вы считаете, что должны быть в этом списке, сообщить об этом одному из мейнтейнеров по одному из адресов электронной почты, указанных в верхней части этой статьи.

В день релиза мы отправим исправление в наш общедоступный репозиторий вместе с обновленным журналом изменений, в котором описывается проблема и вы получаете благодарность. Затем мы выпустим выпуск PyPI, содержащий исправление.

На этом этапе мы опубликуем релиз. Он будет включать рассылку писем по спискам рассылки, твиты и все другие механизмы связи, доступные основной команде.

Мы также явно укажем, какие коммиты содержат исправление, чтобы другим дистрибьюторам и пользователям было проще исправлять свои собственные версии requests, если обновление невозможно.

Предыдущие CVE

  • Исправлено в 2.20.0

  • CVE 2018-18074

  • Исправлено в 2.6.0

    • CVE 2015-2296, о котором сообщил Мэтью Дейли.

  • Исправлено в 2.3.0

    • CVE 2014-1829

    • CVE 2014-1830