Vulnerabilitetet në OpenBSD, të cilat lejojnë rritjen e privilegjeve dhe kalimin e autentifikimit në smtpd, ldapd dhe radiusd

Kompania Qualys ka identifikuar katër dobësinë në OpenBSD, njëra prej të cilave lejon lidhje të largëta pa autentifikim me disa shërbime rrjeti, ndërsa tre të tjerat rrisin privilegjet e tyre në sistem. Në raportin e Qualys theksohet reagimi i shpejtë i zhvilluesve të OpenBSD - të gjitha problemet u zgjidhën janë zgjidhur në OpenBSD 6.5 dhe OpenBSD 6.6 brenda 40 orëve pas njoftimit privat.

Vulnerabiliteti i shfrytëzuar nga distanca është shkaktuar nga një gabim në organizimin e thirrjes së trajtuesit të autentifikimit në bibliotekën libc, e cila thërret
programin /usr/libexec/auth/login_style duke kaluar argumente në linjën e komandës. Në veçanti, gjatë thirrjes login_style me parametrin opsional "-s service" lejohet kalimi i emrit të protokollit. Në rast se përdoret simboli "-" në fillim të emrit të përdoruesit, ky emër do të trajtohet si një opsion gjatë nisjes së login_style. Prandaj, nëse specifikohet gjatë autentifikimit si emri i përdoruesit "-schallenge" ose "-schallenge:passwd", atëherë login_style do ta perceptojë këtë si një kërkesë për të përdorur trajtuesin e S/Key.

Problemi është se protokolli S/Key në login_style mbështetet vetëm formalisht, dhe në të vërtetë injorohet duke dhënë një sinjal për suksesin e autentifikimit. Kështu, një sulmues mund, duke u prezantuar si përdoruesi "-schallenge", të anashkalojë autentifikimin dhe të marrë akses pa specifikuar fjalëkalime ose çelësa. Potencialisht, të gjitha shërbimet rrjet që përdorin thirrjet standarde libc për autentifikim janë të rrezikuara. Për shembull, është konfirmuar se mundësia e anashkalimit të autentifikimit është e mundur në smtpd (AUTH PLAIN), ldapd dhe radiusd.

Në sshd, vulnerabiliteti nuk shfaqet, pasi ka një mbrojtje shtesë me kontrollin e pranisë së përdoruesit në sistem. Megjithatë, sshd mund të përdoret për të kontrolluar se sa e prekshme është sistemi ndaj vulnerabilitetit - gjatë lidhjes me emrin e përdoruesit "-sresponse:passwd", lidhja ngec, pasi sshd pret kthimin e parametrave të thirrjes (challenge) nga login_passwd, ndërsa login_passwd pret të dërgojë parametrat e munguar (emri "-sresponse" perceptohet si opsion). Potencialisht, një sulmues lokal mund të përpiqet të anashkalojë autentifikimin në utilitarin su, por kalimi i emrit "-sresponse" shkakton dështimin e procesit për shkak të kthimit të një treguesi null gjatë ekzekutimit të funksionit getpwnam_r("-schallenge", 
).

Vulnerabilitete të tjera:

  • CVE-2019-19520 - njĂ« rritje lokale e privilegjeve pĂ«rmes manipulimeve me utilitarin xlock, i cili ofrohet me flagun sgid, duke ndryshuar grupin nĂ« "auth". NĂ« kodin e xlock, ribrendimi i rrugĂ«ve pĂ«r bibliotekat ndalohet vetĂ«m gjatĂ« ndĂ«rrimit tĂ« identifikuesit tĂ« pĂ«rdoruesit (setuid), duke lejuar kĂ«shtu sulmuesin tĂ« modifikojĂ« variablĂ«n mjedisore "LIBGL_DRIVERS_PATH" dhe tĂ« organizojĂ« ngarkimin e bibliotekĂ«s sĂ« tij tĂ« ndarĂ«, kodi i sĂ« cilĂ«s do tĂ« ekzekutohet pas rritjes sĂ« privilegjeve nĂ« grupin "auth".
  • CVE-2019-19522 - lejon njĂ« pĂ«rdorues lokal, qĂ« Ă«shtĂ« anĂ«tar i grupit "auth", tĂ« ekzekutojĂ« kod me tĂ« drejtat e root-it kur aktivizohet autentifikimi nĂ« sistem pĂ«rmes S/Key ose YubiKey (normalisht tĂ« papĂ«rfshira). AnĂ«tarĂ«simi nĂ« grupin "auth", tĂ« cilin Ă«shtĂ« e mundur ta fitojĂ« pĂ«rmes shfrytĂ«zimit tĂ« vulnerabilitetit tĂ« mĂ«sipĂ«rm nĂ« xlock, lejon qĂ« tĂ« shkruhen skedarĂ« nĂ« direktorĂ«t /etc/skey dhe /var/db/yubikey. PĂ«r shembull, sulmuesi mund tĂ« shtojĂ« njĂ« skedar tĂ« ri /etc/skey/root pĂ«r tĂ« gjeneruar çelĂ«sa njĂ«herĂ«sh pĂ«r autentifikim si pĂ«rdorues root pĂ«rmes S/Key.
  • CVE-2019-19519 - mundĂ«sia e rritjes sĂ« limitĂ«ve tĂ« burimeve pĂ«rmes manipulimeve me utilitarin su. Duke specifikuar opsionin "-L", i cili nĂ«nkupton pĂ«rpjekje tĂ« pĂ«rsĂ«ritura pĂ«r autentifikim nĂ« rast dĂ«shtimi, klasa e pĂ«rdoruesit vendoset vetĂ«m njĂ« herĂ« dhe nuk pĂ«rfundon me pĂ«rpjekjet e ardhshme. Sulmuesi mund tĂ« ekzekutojĂ« "su -l -L" dhe gjatĂ« pĂ«rpjekjes sĂ« parĂ« tĂ« hyjĂ« njĂ« username tĂ« huaj me njĂ« klasĂ« tjetĂ«r llogarie, por me pĂ«rpjekjen e dytĂ« tĂ« autentikohet me sukses si vetja. NĂ« kĂ«tĂ« situatĂ«, pĂ«rdoruesve do t'u vendosen limitet qĂ« pĂ«rputhen me klasĂ«n e pĂ«rdoruesit tĂ« specifikuar nĂ« pĂ«rpjekjen e parĂ« (pĂ«r shembull, numri maksimal i proceseve ose madhĂ«sia e memories pĂ«r procesin). Ky metod funksionon vetĂ«m pĂ«r huazimin e limitĂ«ve nga pĂ«rdoruesit pa privilegje, pasi pĂ«r pĂ«rdoruesin root duhet tĂ« jetĂ« pjesĂ« e grupit wheel).

Për më tepër, mund të theksohet implementim në OpenBSD një metodë të re për verifikimin e përshtatshmërisë së thirrjes për thirrjet sistemore, duke e bërë më të vështirë shfrytëzimin e vulnerabiliteteve. Metoda lejon ekzekutimin e thirrjeve sistemore, vetëm nëse ato adresohen nga zona të regjistruara paraprakisht të memories. Për të shënuar zonat e memories suggested një thirrje e re sistemore msyscall().

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster