OpenBSD privilege escalation ug authentication bypass vulnerabilities sa smtpd, ldapd ug radiusd

Kompanya sa Qualys gipadayag upat mga kahuyang sa OpenBSD, ang usa niini nagtugot kanimo sa pagkonektar sa layo nga walay pagkumpirma sa pipila ka mga serbisyo sa network, ug ang laing tulo nagdugang sa imong mga pribilehiyo sa sistema. Ang report sa Qualys nakamatikod sa dali nga tubag sa mga developer sa OpenBSD - ang tanan nga mga problema giwagtang Π² OpenBSD 6.5 ΠΈ OpenBSD 6.6 sulod sa 40 ka oras human sa pribadong pahibalo.

Ang layo nga mapahimuslan nga kahuyangan tungod sa usa ka sayup sa pagtawag sa tigdumala sa pag-authenticate sa libc library, nga nagtawag
program /usr/libexec/auth/login_style pagpasa sa mga argumento sa command line. Lakip sa pagtawag sa login_style gamit ang opsyonal nga parameter nga "-s service", posible nga ibalhin ang ngalan sa protocol. Kung mogamit ka ug karakter nga "-" sa sinugdanan sa usa ka username, kini nga ngalan isipon nga kapilian kung magpadagan sa login_style. Ingon niana, kung imong gitakda ang "-schallenge" o "-schallenge: passwd" ingon ang username sa panahon sa pag-authenticate, nan ang login_style mag-isip sa hangyo ingon usa ka hangyo nga gamiton ang handler. S/Yawe.

Ang problema mao nga ang S/Key protocol sa login_style gisuportahan lamang sa pormal nga paagi, apan sa tinuod gibalewala sa output sa usa ka timaan sa malampuson nga pag-authenticate. Sa ingon, ang usa ka tig-atake mahimo, pinaagi sa pag-posing ingon ang gumagamit nga "-challenge", laktawan ang pag-authenticate ug makakuha og access nga wala maghatag password o mga yawe. Ang tanan nga mga serbisyo sa network nga naggamit sa standard nga libc nga mga tawag alang sa pag-authenticate posibleng maapektuhan sa problema. Pananglitan, ang abilidad sa paglaktaw sa panghimatuud gisuportahan sa smtpd (AUTH PLAIN), ldapd ug radiusd.

Ang pagkahuyang dili makita sa sshd, tungod kay kini adunay dugang nga proteksyon nga nagsusi sa presensya sa user sa sistema. Bisan pa, ang sshd mahimong magamit sa pagsulay sa pagkahuyang sa usa ka sistema - kung ang pag-access sa username nga "-sresponse: passwd", ang koneksyon nagbitay, tungod kay ang sshd naghulat sa login_passwd nga ibalik ang mga parameter sa hagit, ug ang login_passwd naghulat sa nawala nga mga parameter sa ipadala (ngalan "- sresponse" giisip nga usa ka kapilian). Ang usa ka lokal nga tig-atake mahimong mosulay sa paglaktaw sa pag-authenticate sa su utility, apan ang pagpasa sa ngalan nga "-sresponse" hinungdan sa proseso nga ma-crash pinaagi sa pagbalik sa usa ka null pointer kung ipatuman ang getpwnam_r("-schallenge", ...) function.

Uban pang mga kahuyangan:

  • CVE-2019-19520 Lokal nga pagtaas sa pribilehiyo pinaagi sa pagmaniobra sa xlock utility nga gihatag sa sgid flag nga nag-ilis sa grupo ngadto sa "auth". Sa xlock code, ang pag-usab sa mga agianan ngadto sa mga librarya gidili lamang kung ang user identifier (setuid) giusab, nga nagtugot sa tig-atake sa pag-usab sa environment variable "LIBGL_DRIVERS_PATH" ug pag-organisar sa pagkarga sa iyang shared library, ang code niini ipatuman. human sa pagpataas sa mga pribilehiyo ngadto sa "auth" nga grupo.
  • CVE-2019-19522 - Gitugotan ang usa ka lokal nga tiggamit nga miyembro sa "auth" nga grupo sa pagpadagan sa code ingon gamut kung ang S/Key o YubiKey nga pag-authenticate gipagana sa sistema (dili aktibo pinaagi sa default). Ang pag-apil sa grupo nga "auth", nga mahimong ma-access pinaagi sa pagpahimulos sa gihisgutan sa ibabaw nga kahuyang sa xlock, nagtugot kanimo sa pagsulat sa mga file sa /etc/skey ug /var/db/yubikey nga mga direktoryo. Pananglitan, ang usa ka tig-atake mahimong makadugang ug usa ka bag-ong file /etc/skey/root aron makamugna og usa ka higayon nga mga yawe alang sa pag-authenticate isip root user pinaagi sa S/Key.
  • CVE-2019-19519 - ang posibilidad sa pagdugang sa mga limitasyon sa kapanguhaan pinaagi sa pagmaniobra sa su utility. Sa diha nga ang "-L" nga kapilian gipiho, nga maoy hinungdan sa mga pagsulay sa pag-authenticate nga masubli cyclically kon dili molampos, ang user nga klase gibutang sa makausa lamang ug dili i-reset sa sunod nga mga pagsulay. Ang usa ka tig-atake mahimong magpatuman sa "su -l -L" sa una nga pagsulay sa pagsulod sa pag-login sa uban nga adunay lahi nga klase sa account, apan sa ikaduha nga pagsulay mahimo niya nga mapanghimatuud nga malampuson ingon sa iyang kaugalingon. Sa kini nga sitwasyon, ang tiggamit mahimong ipailalom sa mga limitasyon base sa klase sa tiggamit nga gitakda sa unang pagsulay (pananglitan, ang pinakataas nga gidaghanon sa mga proseso o gidak-on sa memorya alang sa usa ka proseso). Ang pamaagi magamit lamang alang sa mga limitasyon sa paghulam gikan sa mga dili pribilihiyo nga tiggamit, tungod kay ang gamut nga tiggamit kinahanglan nga naa sa grupo sa ligid).

Dugang pa, kini mahimong matikdan pagpatuman sa OpenBSD, usa ka bag-ong pamaagi sa pagsusi sa kabalido sa mga tawag sa sistema, nga labi nga nagpakomplikado sa pagpahimulos sa mga kahuyangan. Ang pamaagi nagtugot sa mga tawag sa sistema nga ipatuman lamang kung kini ma-access gikan sa narehistro nga mga lugar sa memorya kaniadto. Aron markahan ang mga lugar sa memorya gisugyot bag-ong sistema sa tawag msyscall().

Source: opennet.ru