runc — это инструмент CLI для создания и запуска контейнеров в соответствии со спецификацией OCI. В версиях 1.2.7, 1.3.2 и 1.4.0-rc.2 злоумышленник может обманом заставить runc перенаправить запись в /proc в другие файлы procfs с помощью гоночного контейнера с общими монтированиями (мы также подтвердили, что эту атаку можно использовать с использованием стандартного Dockerfile со сборкой docker buildx, поскольку это также позволяет запускать параллельное выполнение контейнеров с настроенными настраиваемыми общими монтированиями). Это перенаправление может осуществляться через символические ссылки в tmpfs или теоретически другие методы, такие как обычное привязывание.
Несмотря на то, что меры по снижению риска, примененные к связанной CVE, CVE-2019-19921, были довольно ограниченными и фактически заставляли runc только проверять, что при написании меток LSM они на самом деле являются файлами procfs. Эта проблема исправлена в версиях 1.2.8, 1.3.3 и 1.4.0-rc.3.
Показать оригинальное описание (EN)
runc is a CLI tool for spawning and running containers according to the OCI specification. In versions 1.2.7, 1.3.2 and 1.4.0-rc.2, an attacker can trick runc into misdirecting writes to /proc to other procfs files through the use of a racing container with shared mounts (we have also verified this attack is possible to exploit using a standard Dockerfile with docker buildx build as that also permits triggering parallel execution of containers with custom shared mounts configured). This redirect could be through symbolic links in a tmpfs or theoretically other methods such as regular bind-mounts. While similar, the mitigation applied for the related CVE, CVE-2019-19921, was fairly limited and effectively only caused runc to verify that when LSM labels are written they are actually procfs files. This issue is fixed in versions 1.2.8, 1.3.3, and 1.4.0-rc.3.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
Затронутые конфигурации ПО 4
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Linuxfoundation Runc
cpe:2.3:a:linuxfoundation:runc:*:*:*:*:*:*:*:*
|
— |
1.2.8
|
|
Linuxfoundation Runc
cpe:2.3:a:linuxfoundation:runc:*:*:*:*:*:*:*:*
|
1.3.0
|
1.3.3
|
|
Linuxfoundation Runc
cpe:2.3:a:linuxfoundation:runc:1.4.0:rc1:*:*:*:*:*:*
|
— | — |
|
Linuxfoundation Runc
cpe:2.3:a:linuxfoundation:runc:1.4.0:rc2:*:*:*:*:*:*
|
— | — |