![](https://habrastorage.org/webt/lm/1b/mr/lm1bmrnebm4mdwg9p2sxpu0jgiw.jpeg)
8 марта 2021 года веб-сервис для хостинга IT-проектов и их совместной разработки GitHub сообщил об устранении потенциально серьезной уязвимости безопасности, связанной с обработкой аутентифицированных сессий. Из-за этой ошибки малая часть аутентифицированных пользователей (0.001%) могла получить доступ к чужому сеансу. Для полного закрытия проблемы и в качестве предосторожности сервису понадобилось провести сброс всех пользовательских сеансов к GitHub.com, которые были созданы до 12:03 UTC 8 марта. Разработчикам необходимо заново переподключиться к GitHub.
GitHub пояснил, что 2 марта сотрудники сервиса получили информацию из внешних источников об аномальном поведении аутентифицированного пользовательского сеанса на GitHub.com. Анализ этих данных, выполненный группой безопасности и разработки GitHub, помог определить основную причину возникновения проблемы и уровень ее распространения. 5 марта GitHub предпринял первоначальные корректирующие действия для исправления обнаруженной уязвимости, 8 марта сервис применил второй патч в своей системе, который устранил ошибку. Для окончательного применения обновления сервис аннулировал все сеансы пользователей, чтобы избежать даже отдаленной возможности того, что не обнаруженные и скомпрометированные сеансы все еще могут существовать после исправления уязвимости.
Сервис предоставил небольшой группе аккаунтов, которые по данным GitHub были затронуты этой проблемой, всю нужную информацию о возникшем ситуации и рекомендации по необходимым действиям.
Расследование специалистов GitHub показало, что в очень редких случаях гонка состояний в процессе обработки внутренних запросов на сервере могла привести к неправильному перенаправлению сеанса пользователя в браузер другого аутентифицированного пользователя, предоставив ему действительный и аутентифицированный файл cookie сеанса для другого пользователя. Эта ошибка существовала на GitHub.com с 8 февраля 2021 года по 5 марта 2021 года.
GitHub отметил, что эта проблема не была результатом взлома паролей учетных записей, утечки ключей SSH или токенов личного доступа (PAT). Также у сервиса нет никаких свидетельств того, что это было результатом компрометации каких-либо других систем GitHub. Вместо этого эта проблема была связана с редкой и изолированной неправильной обработкой аутентифицированных сеансов. Кроме того, эта ошибка не могла быть намеренно вызвана или использована злоумышленниками. У GitHub нет никаких указаний на то, что эта проблема затронула другие свойства или продукты GitHub.com, включая GitHub Enterprise Server. По оценке сервиса, неправильная маршрутизация сеанса произошла менее чем у 0,001% от всех аутентифицированных сеансов на GitHub.com.
15 декабря 2020 года GitHub предупредил всех пользователей о плановом переходе на токены и SSH-ключи при доступе к Git. Доступ только по паролям к Git будет заблокирован с 13 августа 2021 года.