Компания GitHub приняла решение прекратить поддержку протоколов TLS 1.0 и 1.1 в репозитории пакетов NPM и на всех сайтах, связанных с пакетным менеджером NPM, включая npmjs.com. Начиная с 4 октября для подключения к репозиторию, в том числе для установки пакетов, потребуется клиент с поддержкой как минимум TLS 1.2. На самом GitHub поддержка TLS 1.0/1.1 была прекращена ещё в феврале 2018 года. В качестве мотива называется забота о безопасности своих сервисов и конфиденциальности данных пользователей. По данным GitHub около 99% запросов к репозиторию NPM уже совершается с использованием TLS 1.2 или 1.3, а Node.js включает поддержку TLS 1.2 c 2013 года (начиная с выпуска 0.10), поэтому изменение затронет лишь незначительную часть пользователей.
Напомним, что протоколы TLS 1.0 и 1.1 официально переведены комитетом IETF (Internet Engineering Task Force) в разряд устаревших технологий. Спецификация TLS 1.0 была опубликована в январе 1999 года. Спустя семь лет было выпущено обновление TLS 1.1 с улучшениями безопасности, связанными с генерацией векторов инициализации и добавочного заполнения. Среди главных проблем TLS 1.0/1.1 упоминается отсутствие поддержки современных шифров (например ECDHE и AEAD) и наличие в спецификации требования по поддержке старых шифров, надёжность которых на современном этапе развития вычислительной техники поставлена под сомнение (например, требуется поддержка TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, для проверки целостности и аутентификации используется MD5 и SHA-1). Поддержка устаревших алгоритмов уже приводила к появлению таких атак, как ROBOT, DROWN, BEAST, Logjam и FREAK. Тем не менее, данные проблемы непосредственно не являлись уязвимостями протокола и закрывались на уровне его реализаций. В самих протоколах TLS 1.0/1.1 отсутствуют критические уязвимости, которые можно использовать для осуществления практических атак.