OpenBSD forréttindi stigmögnun og auðkenning framhjá varnarleysi í smtpd, ldapd og radiusd

Qualys fyrirtæki í ljós fjórir varnarleysi í OpenBSD, einn þeirra gerir þér kleift að fjartengjast án auðkenningar við sumar netþjónustur, og hinar þrjár auka réttindi þín í kerfinu. Qualys skýrslan benti á skjót viðbrögð OpenBSD forritara - öll vandamál voru útrýmt в OpenBSD 6.5 и OpenBSD 6.6 innan 40 klukkustunda eftir einkatilkynningu.

Fjarnýtingarleysið stafar af villu í því að hringja í auðkenningarstjórann í libc bókasafninu, sem kallar
forritið /usr/libexec/auth/login_style sendir rök á skipanalínunni. Þar með talið þegar hringt er í login_style með því að nota valfrjálsu færibreytuna "-s service", er hægt að flytja samskiptaheiti. Ef þú notar „-“ staf í upphafi notendanafns verður farið með þetta nafn sem valkost þegar login_style er keyrt. Í samræmi við það, ef þú tilgreinir „-schallenge“ eða „-schallenge:passwd“ sem notandanafn við auðkenningu, þá mun login_style líta á beiðnina sem beiðni um að nota meðhöndlunina S/lykill.

Vandamálið er að S/Key samskiptareglur í login_style er aðeins studd formlega, en er í raun hunsuð með úttakinu á merki um árangursríka auðkenningu. Þannig getur árásarmaður, með því að gefa upp sem notandann „-áskorun“, framhjá auðkenningu og fengið aðgang án þess að gefa upp lykilorð eða lykla. Allar sérþjónustur sem nota staðlaðar libc símtöl til auðkenningar verða hugsanlega fyrir áhrifum af vandamálinu. Til dæmis er möguleikinn á að komast framhjá auðkenningu studdur í smtpd (AUTH PLAIN), ldapd og radiusd.

Varnarleysið birtist ekki í sshd, þar sem það hefur viðbótarvörn sem athugar tilvist notandans í kerfinu. Hins vegar er hægt að nota sshd til að prófa varnarleysi kerfis - þegar notandanafnið "-sresponse:passwd" er opnað, hangir tengingin, þar sem sshd bíður eftir því að login_passwd skili áskorunarbreytunum og login_passwd bíður eftir að breyturnar sem vantar vera sendur (nafnið "- svar" er meðhöndlað sem valmöguleika). Staðbundinn árásarmaður gæti hugsanlega reynt að komast framhjá auðkenningu í su tólinu, en að gefa nafnið „-sresponse“ veldur því að ferlið hrynur með því að skila núllbendi þegar getpwnam_r(“-challenge”, ...) aðgerðin er keyrð.

Aðrir veikleikar:

  • CVE-2019-19520 Staðbundin forréttindi stigmögnun með því að nota xlock tólið sem fylgir sgid fánanum sem breytir hópnum í "auth". Í xlock kóðanum er endurskilgreining á slóðum að bókasöfnum aðeins bönnuð þegar notandaauðkenni (setuid) er breytt, sem gerir árásarmanninum kleift að breyta umhverfisbreytunni „LIBGL_DRIVERS_PATH“ og skipuleggja hleðslu á sameiginlega bókasafni sínu, en kóðinn verður keyrður. eftir að hafa hækkað forréttindi til "auth" hópsins.
  • CVE-2019-19522 - Leyfir staðbundnum notanda sem er meðlimur í "auth" hópnum að keyra kóða sem rót þegar S/Key eða YubiKey auðkenning er virkjuð á kerfinu (ekki virk sjálfgefið). Að taka þátt í „auth“ hópnum, sem hægt er að nálgast með því að nýta ofangreinda varnarleysi í xlock, gerir þér kleift að skrifa skrár í /etc/skey og /var/db/yubikey möppurnar. Til dæmis gæti árásarmaður bætt við nýrri skrá /etc/skey/root til að búa til einskiptislykla til auðkenningar sem rótnotandi í gegnum S/Key.
  • CVE-2019-19519 - möguleiki á að auka auðlindamörk með því að nota su-veituna. Þegar „-L“ valmöguleikinn er tilgreindur, sem veldur því að auðkenningartilraunir eru endurteknar í lotu ef árangurs ekki, er notendaflokkurinn aðeins stilltur einu sinni og er ekki endurstilltur í síðari tilraunum. Árásarmaður getur framkvæmt „su -l -L“ í fyrstu tilraun til að slá inn innskráningu einhvers annars með öðrum reikningsflokki, en í annarri tilraun getur hann auðkennt sjálfan sig. Í þessum aðstæðum verður notandinn háður takmörkunum miðað við notendaflokkinn sem tilgreindur er í fyrstu tilraun (til dæmis hámarksfjölda ferla eða minnisstærð fyrir ferli). Aðferðin virkar aðeins fyrir lántökumörk frá notendum sem ekki hafa forréttindi, þar sem rótnotandinn verður að vera í hjólahópnum).

Auk þess má geta þess framkvæmd í OpenBSD, nýrri aðferð til að athuga réttmæti kerfiskalla, sem flækir hagnýtingu veikleika enn frekar. Aðferðin gerir aðeins kleift að framkvæma kerfissímtöl ef aðgangur er að þeim frá áður skráðum minnissvæðum. Til að merkja minnissvæði lagt til nýtt kerfiskall msyscall().

Heimild: opennet.ru