Уразлівасць у chrony

В хронія, рэалізацыі пратаколу NTP, якая ўжываецца для сінхранізацыі дакладнага часу ў розных дыстрыбутывах Linux, выяўлена уразлівасць (CVE-2020-14367), якая дазваляе перазапісаць любы файл у сістэме, маючы доступ да лакальнага непрывілеяванага карыстача chrony. Уразлівасць можа быць эксплуатаваная толькі праз карыстача chrony, што змяншае яе небяспеку. Тым не менш, праблема кампраметуе ўзровень ізаляцыі ў chrony і можа выкарыстоўвацца ў выпадку выяўлення іншай уразлівасці ў кодзе, выкананым пасля скіду прывілеяў.

Уразлівасць выклікана небяспечным стварэннем pid-файла, які ствараўся на этапе, калі chrony яшчэ не скінуў прывілеі і выконваецца з правамі root. Пры гэтым каталог /run/chrony, у які запісваецца pid-файл, ствараўся з правамі 0750 праз systemd-tmpfiles або пры запуску chronyd у прывязцы да карыстача і групе "chrony". Такім чынам, пры наяўнасці доступу да карыстача chrony маецца магчымасць замены pid-файла /run/chrony/chronyd.pid на сімвалічную спасылку. Сімвалічная спасылка можа ўказваць на любы сістэмны файл, які будзе перапісаны ў момант запуску chronyd.

root# systemctl stop chronyd.service
root# sudo -u chrony /bin/bash

chrony$ cd /run/chrony
chrony$ ln -s /etc/shadow chronyd.pid
chrony$ exit

root# /usr/sbin/chronyd -n
^C
# замест зьместу /etc/shadow будзе захаваны ідэнтыфікатар працэсу chronyd
root# cat /etc/shadow
15287

ўразлівасць ліквідавана у выпуску chrony 3.5.1. Абнаўленні пакетаў з ухіленнем уразлівасці даступныя для Мяккая фетравы капялюш. У працэсе падрыхтоўкі абнаўлення для RHEL, Debian и Ubuntu.

SUSE і openSUSE праблеме не схільныя, бо сімвалічная спасылка для chrony ствараецца непасрэдна ў каталогу /run, без ужывання дадатковых падкаталогаў.

Крыніца: opennet.ru

Дадаць каментар