Rack - это модульный интерфейс веб-сервера Ruby. До версии 2.2.14 при использовании промежуточного ПО `Rack::Session::Pool` одновременные з…
Rack - это модульный интерфейс веб-сервера Ruby. До версии 2.2.14 при использовании промежуточного ПО `Rack::Session::Pool` одновременные запросы Rack могут восстановить удаленный сеанс Rack, позволяя неаутентифицированному пользователю занять этот сеанс [1]. Промежуточное ПО сеанса Rack готовит сеанс в начале запроса, затем сохраняет его обратно в хранилище с возможными изменениями, внесенными хост-приложением Rack. Таким образом, сеанс становится объектом гонки в общем смысле над параллельными запросами Rack. Рекомендуется обновиться до версии 2.2.14 или реализовать одно из предложенных решений. Источники: - [1] https://github.com/rack/rack/security/advisories/GHSA-vpfw-47h7-xj4g - [2] https://github.com/rack/rack/commit/c48e52f7c57e99e1e1bf54c8760d4f082cd1c89d - [3] https://github.com/rack/rack/blob/v2.2.13/lib/rack/session/abstract/id.rb#L263-L270
Продукт содержит параллельную последовательность кода, требующую временного монопольного доступа к разделяемому ресурсу, однако существует временно́е окно, в течение которого этот ресурс может быть изменён другой параллельно выполняемой последовательностью кода.
https://cwe.mitre.org/data/definitions/362.html →Открыть в коллекции CWE →Злоумышленник нацеливается на состояние гонки, возникающее когда несколько процессов одновременно обращаются к одному ресурсу и манипулируют им, а результат выполнения зависит от конкретного порядка этих обращений. Злоумышленник может эксплуатировать состояние гонки, «участвуя в гонке»: изменяя ресурс и нарушая нормальный порядок выполнения. Например, состояние гонки может возникнуть при обращении к файлу: злоумышленник может обмануть систему, подменив исходный файл своей версией и заставив систему прочитать вредоносный файл.
https://capec.mitre.org/data/definitions/26.html →Открыть в коллекции CAPEC →Данная атака нацелена на состояние гонки, возникающее между моментом проверки (состояния) ресурса и моментом его использования. Типичный пример — обращение к файлу. Злоумышленник может эксплуатировать состояние гонки при обращении к файлу, «участвуя в гонке»: изменяя ресурс между первым обращением целевой программы к файлу и фактическим его использованием. В этом промежутке злоумышленник может заменить или изменить файл, вызвав неожиданное поведение приложения.
https://capec.mitre.org/data/definitions/29.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| rack | * | Отслеживается |