Bug 10074

Summary: systemd: CVE-2018-6954, updated hwdb, fixed max UID/GID in sysusers
Product: [ROSA-based products] ROSA Fresh Reporter: Mikhail Novosyolov <m.novosyolov>
Component: Packages from MainAssignee: ROSA Linux Bugs <bugs>
Status: RESOLVED FIXED QA Contact: ROSA Linux Bugs <bugs>
Severity: normal    
Priority: Normal CC: eugene.shatokhin, pastordidi, v.potapov
Version: AllFlags: v.potapov: qa_verified-
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Platform: --- ROSA Vulnerability identifier:
RPM Package: ISO-related:
Bad POT generating: Upstream:
Bug Depends on:    
Bug Blocks: 10077    
Attachments: sysd1.png

Description Mikhail Novosyolov 2019-08-18 07:23:50 MSK
****** QA ADVISORY ******

systemd 230-40
- fixed (?) CVE-2018-6954
- sysusers: explicitly defined max UID/GID (set 499 instead of 999)
- synced hwdb with git master for better support of different hardware

+ https://abf.io/build_lists/3088126
+ https://abf.io/build_lists/3088127
************************************

Теперь по-русски и подробно.

1. Вот здесь в описании https://github.com/systemd/systemd/issues/7986 написан алгоритм воспроизведения CVE-2018-6954. Пожалуйста, сначала попробуйте воспроизвести проблему до обновления, а затем - после обновления. Мне сейчас некогда этим заниматься, а я не уверен, что уязвимость закрыта полностью, т.к. часть правок не бекпортировал, однако основные векторы атаки должны быть прикрыты.

В рамках закрытия этой уязвимости ОЧЕНЬ много правок в systemd-tmpfiles, проверьте его тщательно.

2. Исправлена работа systemd-sysusers: он думал, что системные пользователи находятся в диапазоне от 0 до 999, а на Росе они от 0 до 499.

3. Скопировал hwdb из git master. hwdb - это такая база железа, в котором названия устройств, которые в т.ч. видны в lsusb/lspci, корректировки акселлерометров, поддержка различных аппаратных клавиш и пр. У нас старый systemd, а значит по поддержке нюансов железа мы начинаем сильно отставать, поэтому просто скопировал самый новый hwdb. Внимательно проверьте работу различного перефирийного оборудования и отсутствие регрессий в выводах lsusb, lspci.
Comment 1 Vladimir Potapov 2019-08-19 18:47:28 MSK
в никеле две новых строчки об ошибках (journalctl -b -p err)
авг 19 23:43:41 localhost systemd-tmpfiles[2811]: Unsafe symlinks encountered in /run/systemd/netif/links, refusing.                    
авг 19 23:43:41 localhost systemd-tmpfiles[2811]: Unsafe symlinks encountered in /run/systemd/netif/leases, refusing.
Comment 2 Mikhail Novosyolov 2019-08-19 23:57:16 MSK
Воспроизводится так:

Создать файл /usr/lib/tmpfiles.d/test.conf

d /run/live 0755 user user -
d /run/live/subdir1 0755 user user -
d /run/live/subdir2 0755 user user -

вместо user любой пользователь

systemd-tmpfiles --create test.conf

Выдает ошибку "Unsafe symlinks encountered in <...>, refusiong", результирующие директории sudbir1 и subdir2 принадлежат root:root вместо user:user
Comment 3 Dmitry Postnikov 2019-08-22 17:47:15 MSK
(In reply to Mikhail Novosyolov from comment #2)
> Воспроизводится так:
> 
> Создать файл /usr/lib/tmpfiles.d/test.conf
> 
> d /run/live 0755 user user -
> d /run/live/subdir1 0755 user user -
> d /run/live/subdir2 0755 user user -
> 
> вместо user любой пользователь
> 
> systemd-tmpfiles --create test.conf
> 
> Выдает ошибку "Unsafe symlinks encountered in <...>, refusiong",
> результирующие директории sudbir1 и subdir2 принадлежат root:root вместо
> user:user

У меня на старом systemd нет таких ошибок, и результирующие директории subdir1 subdir2 принадлежать user:user

Это ан systemd-230-32-rosa2016.1
Comment 4 Dmitry Postnikov 2019-08-22 17:50:03 MSK
Created attachment 5198 [details]
sysd1.png
Comment 5 Vladimir Potapov 2019-09-20 11:14:00 MSK
**************************
QA Denied