Zêdekirina îmtiyazên OpenBSD û pejirandinê li smtpd, ldapd û radiusd-ê de qelsiyên dûr dixe

Qualys Company eşkere kirin çar qelsiyên di OpenBSD de, yek ji wan dihêle hûn ji dûr ve bêyî pejirandinê bi hin karûbarên torê ve girêdin, û sêyên din îmtiyazên we di pergalê de zêde dikin. Rapora Qualys bersiva bilez a pêşdebirên OpenBSD destnîşan kir - hemî pirsgirêk bûn tasfiye kirin в OpenBSD 6.5 и OpenBSD 6.6 di nav 40 saetan de piştî ragihandina taybet.

Qelsiya ji dûr ve tê îstismarkirin ji ber xeletiyek di gazîkirina rêvekerê rastdariyê de di pirtûkxaneya libc de, ku bang dike, pêk tê.
bername /usr/libexec/auth/login_style argûmanan li ser rêza fermanê derbas dike. Di nav de dema gazîkirina login_style bi karanîna parametreya vebijarkî "xizmeta -s" tê, gengaz e ku navê protokolê were veguheztin. Heke hûn di destpêka navekî bikarhêner de karakterek "-" bikar bînin, dema ku login_style dimeşîne ev nav dê wekî vebijarkek were hesibandin. Li gorî vê yekê, heke hûn di dema erêkirinê de wekî navê bikarhêner "-schallenge" an "-schallenge: passwd" destnîşan bikin, wê hingê login_style dê daxwazê ​​wekî daxwazek ji bo karanîna rêkerê fam bike. S/Key.

Pirsgirêk ev e ku protokola S/Key di login_style de tenê bi fermî tê piştgirî kirin, lê bi rastî bi derketina nîşanek pejirandina serketî re tê paşguh kirin. Ji ber vê yekê, êrîşkarek dikare, bi nîşankirina wekî bikarhêner "-tehlûke" re, bêyî ku şîfreyek an mifteyê peyda bike, verastkirinê derbas bike û bigihîje. Hemî karûbarên torê yên ku bangên standard libc ji bo pejirandinê bikar tînin bi potansiyel ji pirsgirêkê bandor dibin. Mînakî, şiyana derbaskirina erêkirinê di smtpd (AUTH PLAIN), ldapd û radiusd de tê piştgirî kirin.

Zehfbûn di sshd de xuya nake, ji ber ku ew xwedan parastinek zêde ye ku hebûna bikarhêner di pergalê de kontrol dike. Lêbelê, sshd dikare ji bo ceribandina qelsiya pergalek were bikar anîn - dema ku meriv xwe bigihîne navê bikarhêner "-sresponse:passwd", pêwendiyek diqede, ji ber ku sshd li benda login_passwd ye ku pîvanên dijwar vegerîne, û login_passwd li benda pîvanên winda ye ku bêne şandin (navê "- sresponse" wekî vebijarkek tê hesibandin). Êrîşkarek herêmî dikare bi potansiyel hewl bide ku di kargêriya su de verastkirinê derbas bike, lê derbaskirina navê "-sresponse" dibe sedem ku pêvajo têk biçe û dema ku fonksiyona getpwnam_r("-schallenge", ...) vedigere nîşanek betal vedigere.

Qelsiyên din:

  • CVE-2019-19520 Zêdebûna îmtiyazên herêmî bi manîpulekirina kargêriya xlock-ê ya ku bi ala sgid ve hatî peyda kirin komê diguhezîne "auth". Di koda xlock de, ji nû ve pênasekirina rêyên pirtûkxaneyan tenê dema ku nasnameya bikarhêner (setuid) were guheztin qedexe ye, ku dihêle êrîşkar guhêrbara jîngehê "LIBGL_DRIVERS_PATH" biguhezîne û barkirina pirtûkxaneya xwe ya hevpar, ku koda wê were darvekirin, organîze bike. piştî bilindkirina îmtiyazan ji koma "auth".
  • CVE-2019-19522 - Destûrê dide bikarhênerek herêmî ku endamê koma "auth" e ku kodê wekî root bimeşîne dema ku rastkirina S/Key an YubiKey li ser pergalê çalak e (ji hêla xwerû ne çalak e). Tevlêbûna koma "auth"ê, ku meriv dikare bi îstismarkirina qelsiya jorîn di xlockê de bigihîje, dihêle hûn pelan li pelrêçên /etc/skey û /var/db/yubikey binivîsin. Mînakî, êrîşkarek dikare pelek nû /etc/skey/root lê zêde bike da ku ji bo pejirandinê wekî bikarhênerê root bi S/Key kilîdên yekcar çêbike.
  • CVE-2019-19519 - îhtîmala zêdekirina sînorên çavkaniyê bi manîpulekirina kargêriyê. Dema ku vebijarka "-L" tête diyar kirin, ku dibe sedem ku hewildanên erêkirinê bi rengekî çerxîkî werin dubare kirin heke neserkeftî be, çîna bikarhêner tenê carekê tête danîn û di hewildanên paşîn de nayê vegerandin. Êrîşkar dikare di hewildana yekem de ku têkeve têketina kesek din bi çînek hesabek cihêreng de "su -l -L" pêk bîne, lê di hewildana duyemîn de ew dikare wekî xwe bi serfirazî piştrast bike. Di vê rewşê de, bikarhêner dê li ser bingeha çîna bikarhênerê ya ku di hewildana yekem de hatî destnîşan kirin (mînakî, hejmara herî zêde ya pêvajoyên an mezinahiya bîranînê ji bo pêvajoyekê) ve girêdayî be. Rêbaz tenê ji bo deynkirina sînorên ji bikarhênerên bêdestûr dixebite, ji ber ku bikarhênerê root divê di koma çerxê de be).

Wekî din, ew dikare were destnîşan kirin pêkanîna di OpenBSD de, rêbazek nû ya ji bo kontrolkirina rastdariya bangên pergalê, ku karanîna qelsiyan bêtir tevlihev dike. Rêbaz dihêle ku bangên pergalê tenê bêne darve kirin heke ew ji deverên bîranînê yên berê hatine tomar kirin werin girtin. Ji bo nîşankirina deverên bîranînê pêşniyar kirin banga sîstema nû msyscall().

Source: opennet.ru