Три уязвимости устранены в подсистеме iSCSI ядра Linux. Они позволяли злоумышленнику с базовыми пользовательскими привилегиями получить привилегии root. К счастью, эти баги можно эксплуатировать только локально, то есть атакующему придется сначала получить доступ к устройству каким-то иным способом.
Уязвимости могут привести к локальному повышению привилегий, утечкам информации и отказам в обслуживании:
- CVE-2021-27365: переполнение буфера хипа (повышение локальных привилегий, утечка информации, отказ в обслуживании);
- CVE-2021-27363: утечка указателя ядра (утечка информации);
- CVE-2021-27364: out-of-bounds чтение (утечка информации, отказ в обслуживании).
Проблемы обнаружил исследователь GRIMM Адам Николс (Adam Nichols), и он сообщает, что баги появились в коде еще 15 лет назад, в 2006 году, на начальных этапах разработки iSCSI. Теперь же проблемы затрагивают все дистрибутивы Linux, и хотя уязвимый модуль scsi_transport_iscsi не загружается по умолчанию, все не так просто.
«Ядро Linux загружает модули либо потому, что обнаружено новое оборудование, либо потому, что функция ядра обнаруживает отсутствие модуля. В последнем случае неявная автозагрузка с большей вероятностью может быть использована и легко запущена злоумышленником, что позволит ему увеличить поверхность атаки, — предупреждает эксперт. — В системах CentOS 8, RHEL 8 и Fedora непривилегированные пользователи могут автоматически загружать необходимые модули, если установлен пакет rdma-core. В системах Debian и Ubuntu пакет rdma-core будет автоматически загружать только два необходимых модуля ядра, если доступно оборудование RDMA».
В итоге атакующие имеют возможность злоупотребить найденными уязвимостями, чтобы обойти такие защитные механизмы, как Kernel Address Space Layout Randomization (KASLR), Supervisor Mode Execution Protection (SMEP), Supervisor Mode Access Prevention (SMAP), а также Kernel Page-Table Isolation (KPTI).
Уязвимости были устранены в версиях 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 и 4.4.260, и исправления стали доступны 7 марта 2021 года. Сообщается, что патчи для неподдерживаемых EOL-версий ядра, таких как 3.x и 2.6.23, выпускаться не будут.