В новите версии на системата за централизирано управление конфигурацията SaltStack 3002.5, 3001.6 и 3000.8 е отстранена уязвимост (CVE-2020-28243), която позволява на непривилегирован локален потребител на хоста да повиши своите привилегии в системата. Проблемата е предизвикана от грешка в обработчика salt-minion, използван за приемане на команди от централния сървър. Уязвимостта беше открита през ноември, но е поправена едва сега.
При изпълнение на операцията „restartcheck“ има възможност за подмяна на произволни команди чрез манипулации с името на процеса. По-специално, проверката за наличието на пакет се осъществява чрез стартиране на пакетния мениджър с предаване на аргумент, получен на базата на името на процеса. Пакетният мениджър се стартира чрез извикване на функцията popen в режим на стартиране shell, но без екраниране на специалните символи. Променяйки името на процеса и използвайки символи като „;“ и „|“, може да се организира изпълнението на собствен код.
Освен отбелязаната проблема в SaltStack 3002.5, са отстранени още 9 уязвимости:
- CVE-2021-25281 — поради липса на подходяща проверка на правомощията, отдалечен атакуващ може чрез обращение към SaltAPI да стартира произволен wheel-модул на управляващия master-сървър и да компрометира цялата инфраструктура.
- CVE-2021-3197 — проблем в SSH-модула към minion, позволяващ изпълнение на произволни shell-команди чрез подмяна на аргумент с настройката „ProxyCommand“ или предаване на ssh_options през API.
- CVE-2021-25282 — неавторизираният достъп до wheel_async позволява чрез обращение към SaltAPI да се презапише файл извън основната директория и да се изпълни произволен код в системата.
- CVE-2021-25283 — излизане извън основната директория в обработчика wheel.pillar_roots.write в SaltAPI позволява добавяне на произволен шаблон към jinja renderer.
- CVE-2021-25284 — паролите, зададени чрез webutils, бяха записвани в открит вид в лог файла /var/log/salt/minion.
- CVE-2021-3148 — възможност за подмяна на команди чрез SaltAPI извикването salt.utils.thin.gen_thin().
- CVE-2020-35662 — липса на проверка SSL- на сертификата в конфигурацията по подразбиране.
- CVE-2021-3144 — възможност за използване на удостоверителни токени eauth след изтичането на техния срок.
- CVE-2020-28972 — в кода не се проверяваше SSL/TLS-сертификата сървър, което позволяваше извършването на MITM-атаки.
Източник: opennet.ru
