Bug 13302

Summary: [CVE 21] puppet 6.18.0 CVEs found
Product: [ROSA-based products] ROSA Fresh Reporter: Yury <y.tumanov>
Component: System (kernel, glibc, systemd, bash, PAM...)Assignee: ROSA Linux Bugs <bugs>
Status: VERIFIED FIXED QA Contact: ROSA Linux Bugs <bugs>
Severity: normal    
Priority: Normal CC: a.proklov, i.gaptrakhmanov, m.novosyolov, pastordidi, s.matveev, v.potapov, y.tumanov
Version: AllFlags: v.potapov: qa_verified+
y.tumanov: secteam_verified+
a.proklov: published+
Target Milestone: ---   
Hardware: All   
OS: Linux   
URL: CVE-2021-27021,
Whiteboard:
Platform: 2021.1 ROSA Vulnerability identifier:
RPM Package: ISO-related:
Bad POT generating: Upstream:
Attachments: pup.png

Description Yury 2023-05-03 18:02:07 MSK
Please patch CVEs for package puppet version 6.18.0
  
INFO (CVEs are): puppet 6.18.0
 cves found
CVE-2021-27021
Desc: A flaw was discovered in Puppet DB, this flaw results in an escalation of privileges which allows the user to delete tables via an SQL query.
Link: https://nvd.nist.gov/vuln/detail/CVE-2021-27021
Severity: HIGH
Comment 1 ilfat 2023-05-24 17:14:55 MSK
********** QA ADVISORY **********

CVEs closed by project update

Updated to 6.24.0

https://abf.io/build_lists/4443435 i686
https://abf.io/build_lists/4443433 x86_64
https://abf.io/build_lists/4443434 aarch64
Comment 2 Dmitry Postnikov 2023-05-25 17:49:25 MSK
Created attachment 5896 [details]
pup.png

Puppet server не стартует. Неверная опция в puppetmaster.service
Comment 3 ilfat 2023-06-05 11:27:12 MSK
********** QA ADVISORY **********

Подпакет server удален, так как с версии 6.0.0 команда 'puppet master'
не поддерживается. Для настройки сервера следует использовать puppet.conf.

https://abf.io/build_lists/4480298 x86_64
https://abf.io/build_lists/4480299 aarch64
https://abf.io/build_lists/4480297 i686
https://abf.io/build_lists/4480301
https://abf.io/build_lists/4480300
Comment 4 Dmitry Postnikov 2023-06-05 14:08:39 MSK
Чего-то я вообще не пойму.
Ставится puppet пакет. Хорошо. Там бинарник puppet есть, есть опция puppet agent.
Но в репах есть пакет puppet-agent, он тогда зачем?
Еще, пересмотрел всякие конфиги в инете, что чего как делает. Не вижу я у нас бинарника puppetserver. Сервис не стартует. Есть пакет puppet-server, он провайдит на puppet пакет. Но бинарника сервера там нет.
Comment 5 ilfat 2023-06-05 14:27:32 MSK
Пакет puppet-server в репах остался от puppet 6.18.

Насколько я понял сейчас сервер запускается тем же puppet'ом,
только надо в puppet.conf завести секцию [server] и в ней все настроить.

Проект puppet-agent похоже просто дублирует проект puppet,
только там версия уже 7.x
Comment 6 Dmitry Postnikov 2023-06-05 14:37:27 MSK
Ну вот я открываю https://www.puppet.com/docs/puppet/6/server/install_from_packages.html
Читаю, как инсталить и запустить puppet сервер.
Не вижу я там пункта, чтобы залезть в конфиг и что-то править.

Открываю https://www.puppet.com/docs/puppet/6/server/configuration.html
Вижу, куча *.conf файлов у папета. Смотрю у нас, их нет. Есть puppet,conf и auth.conf , всё. Сервис не запускается, т.к. долбится на https://... т.е. надо самомому перечитать доки, сздать файлы ca.conf, webserver.conf, server.conf, pappetserver.conf и т.д. Настроить их? По дуфолту у нас пустно, даже дефолтных примеров нет.

Как-то это не правильно.
Comment 7 Dmitry Postnikov 2023-06-05 15:01:17 MSK
(In reply to ilfat from comment #5)
> Пакет puppet-server в репах остался от puppet 6.18.
> 
> Насколько я понял сейчас сервер запускается тем же puppet'ом,
> только надо в puppet.conf завести секцию [server] и в ней все настроить.
> 
> Проект puppet-agent похоже просто дублирует проект puppet,
> только там версия уже 7.x

Вот сейчас читаю... получается так, что в версии puppet 6.x требуется конфиги:
puppetserver.conf, webserver.conf и т.д.
Открываю доки от версии puppet 7.x там уже другой конфиг файл, уже просто puppet.conf и секции [server] есть.

Я чего-то не пойму, у нас вроде версия 6.24, а почему конфиг от 7-й версии? И раз в репах даже есть puppet-agent версии 7, то почему бы нам на 7-ю версию не перейти? Зачем мы собираем 6.24 ?
Comment 8 ilfat 2023-06-05 15:05:17 MSK
Тогда надо перейти на версию 7 и уже основательно довести до ума.

А так мы же только уязвимость закрывали поэтому перешли на 6.24.
Никто же не знал, что оно у нас уже давно не работает.
Comment 9 Aleksandr Proklov 2023-06-05 15:16:09 MSK
>И раз в репах даже есть puppet-agent версии 7, то почему бы нам на 7-ю версию не перейти?

потому что во-первых у вас стабильная платформа, во-вторых а кто будет его до ума доводить? Уже я смотрю вонзили конфиг от 7 версии в 6.24 

пока незнаю как это все разрулить.
Comment 10 ilfat 2023-06-05 15:26:16 MSK
Какую-то из версий все равно доводить до рабочего состояния.
Тогда уж сразу 7-ую.
Comment 11 Mikhail Novosyolov 2023-06-05 19:13:39 MSK
Давайте перейдем на 7 тогда уж.
Comment 12 Vladimir Potapov 2023-06-09 10:04:27 MSK
Поддерживаю, у всех, кроме убунты, давно семерка. 
Главное, чтоб каскадно не потащило обновление библиотек каких-нибудь, конечно.
Comment 14 ilfat 2023-06-20 18:23:37 MSK
Прошу пока не тестировать puppet
puppetserver опакечиваю, возможно придется изменения вносить в проект puppet.
Лучше потом сюда же добавлю и puppetserver и puppetserver-ca.
Comment 15 Vladimir Potapov 2023-07-21 12:52:41 MSK
гм, месяц ждали. Снимаю пока с QA
Comment 16 ilfat 2023-07-21 17:01:39 MSK
********** QA ADVISORY **********

puppet 7.25.0 - обновление

https://abf.io/build_lists/4636154 aarch64
https://abf.io/build_lists/4636153 x86_64
https://abf.io/build_lists/4636155
https://abf.io/build_lists/4636157
https://abf.io/build_lists/4636156


puppetserver 7.12.0 - новый проект (для e2k нет из-за отсутствия java)

https://abf.io/build_lists/4636264 aarch64
https://abf.io/build_lists/4636263 x86_64
https://abf.io/build_lists/4636265
https://abf.io/build_lists/4636267


rubygem-puppetserver-ca 2.6.0- новый проект

https://abf.io/build_lists/4636139 aarch64
https://abf.io/build_lists/4636138 x86_64
https://abf.io/build_lists/4636140
https://abf.io/build_lists/4636142
https://abf.io/build_lists/4636141


rubygem-facter 4.2.14 - перенесено из contrib как зависимость puppetserver'а

https://abf.io/build_lists/4636204 aarch64
https://abf.io/build_lists/4636203 x86_64
https://abf.io/build_lists/4636205
https://abf.io/build_lists/4636206
https://abf.io/build_lists/4636207


rubygem-fast_gettext 2.2.0 - перенесено из contrib как зависимость puppetserver'а

https://abf.io/build_lists/4636209 aarch64
https://abf.io/build_lists/4636208 x86_64
https://abf.io/build_lists/4636210
https://abf.io/build_lists/4636212
https://abf.io/build_lists/4636211



Для проверки работы можно использовать следующие шаги:

1. На сервере устанавливаем puppetserver.
2. Синхронизируем время, иначе будут проблемы с сертификацией клиента
3. В /etc/hosts добавляем имя puppet к 127.0.0.1, для работы подкоманд команды puppetserver
4. В /etc/puppet/code/environments/production/manifests/ создаем файл test.pp со следующим содержимым:

package { 'dos2unix':
    provider => dnf,
    ensure   => installed,
}

file { '/tmp/puppettest':
    ensure  => file,
    content => 'This is a puppet testing file',
}

5. Запускаем службу puppetserver, при этом автоматически создастся сертификат сервера, если отсутствует. Можно создать до запуска службы вручную командой:
sudo puppetserver ca setup
6. На клиенте устанавливаем puppet
7. Cинхронизируем время.
8. В /etc/hosts добавляем IP адрес сервера с именем puppet
9. Запускаем на клиенте службу puppet, при этом на сервер отправится запрос на подпись сертификата. Можно до запуска службы проверить связь с сервером и запрос подписи сертификата командой:
sudo puppet agent --test
10. На сервере проверяем наличие запроса:
sudo puppetserver ca list
11. Подписываем сертификат:
sudo puppetserver ca sign --all (либо --certname <имя сертификата>)
12. На клиенте перезапускаем службу puppet, чтобы не ждать интервал опроса сервера
13. Ждем несколько секунд и проверяем применились ли изменения:
rpm -q dos2unix
cat /tmp/puppettest
Comment 17 Dmitry Postnikov 2023-07-25 13:30:29 MSK
(In reply to ilfat from comment #16)
> ********** QA ADVISORY **********
> 
> puppet 7.25.0 - обновление
> 
> https://abf.io/build_lists/4636154 aarch64
> https://abf.io/build_lists/4636153 x86_64
> https://abf.io/build_lists/4636155
> https://abf.io/build_lists/4636157
> https://abf.io/build_lists/4636156
> 
> 
> puppetserver 7.12.0 - новый проект (для e2k нет из-за отсутствия java)
> 
> https://abf.io/build_lists/4636264 aarch64
> https://abf.io/build_lists/4636263 x86_64
> https://abf.io/build_lists/4636265
> https://abf.io/build_lists/4636267
> 
> 
> rubygem-puppetserver-ca 2.6.0- новый проект
> 
> https://abf.io/build_lists/4636139 aarch64
> https://abf.io/build_lists/4636138 x86_64
> https://abf.io/build_lists/4636140
> https://abf.io/build_lists/4636142
> https://abf.io/build_lists/4636141
> 
> 
> rubygem-facter 4.2.14 - перенесено из contrib как зависимость puppetserver'а
> 
> https://abf.io/build_lists/4636204 aarch64
> https://abf.io/build_lists/4636203 x86_64
> https://abf.io/build_lists/4636205
> https://abf.io/build_lists/4636206
> https://abf.io/build_lists/4636207
> 
> 
> rubygem-fast_gettext 2.2.0 - перенесено из contrib как зависимость
> puppetserver'а
> 
> https://abf.io/build_lists/4636209 aarch64
> https://abf.io/build_lists/4636208 x86_64
> https://abf.io/build_lists/4636210
> https://abf.io/build_lists/4636212
> https://abf.io/build_lists/4636211
> 


***************************
The update sent to testings
Comment 19 Yury 2023-10-18 17:25:03 MSK
secteam_verified
Comment 20 Yury 2023-10-19 10:55:04 MSK
secteam_verified