Vundebleco en sudo kiu permesas privilegian eskaladon dum uzado de specifaj reguloj

En la utileco Sudo, uzata por organizi la plenumon de komandoj nome de aliaj uzantoj, identigita vundebleco (CVE-2019-14287), kiu ebligas al vi ekzekuti komandojn kun radikaj rajtoj, se estas reguloj en la sudoers-agordoj en kiuj en la uzantidentigkontrola sekcio post la permesa ŝlosilvorto "ĈIUJ" estas eksplicita malpermeso funkcii kun radikaj rajtoj ("... (ĈIUJ, !radiko) ..." ). La vundebleco ne aperas en defaŭltaj agordoj en distribuoj.

Se sudoers havas validajn, sed ekstreme maloftajn en la praktiko, regulojn, kiuj permesas la ekzekuton de certa komando sub la UID de iu ajn uzanto krom radiko, atakanto kiu havas la aŭtoritaton efektivigi ĉi tiun komandon povas preteriri la establitan limigon kaj plenumi la komandon per radikrajtoj. Por preteriri la limigon, simple provu efektivigi la komandon specifitan en la agordoj kun UID "-1" aŭ "4294967295", kio kondukos al ĝia ekzekuto kun UID 0.

Ekzemple, se estas regulo en la agordoj, kiu donas al iu ajn uzanto la rajton ekzekuti la programon /usr/bin/id sub iu ajn UID:

miagastiganto ĈIUJ = (ĈIUJ, !radiko) /usr/bin/id

aŭ opcio kiu permesas ekzekuton nur por specifa uzanto bob:

miagastiganto bob = (ĈIUJ, !radiko) /usr/bin/id

La uzanto povas ekzekuti "sudo -u '#-1' id" kaj la ilo /usr/bin/id estos lanĉita kiel radiko, malgraŭ la eksplicita malpermeso en la agordoj. La problemo estas kaŭzita de preteratenti la specialajn valorojn "-1" aŭ "4294967295", kiuj ne kondukas al ŝanĝo en UID, sed ĉar sudo mem jam funkcias kiel radiko, sen ŝanĝi la UID, la cela komando ankaŭ estas. lanĉita kun radikrajtoj.

En SUSE kaj openSUSE-distribuoj, sen specifi "NOPASSWD" en la regulo, estas vundebleco. ne ekspluatebla, ĉar en sudoers la "Defaults targetpw" reĝimo estas ebligita defaŭlte, kiu kontrolas la UID kontraŭ la pasvorta datumbazo kaj instigas vin enigi la pasvorton de la cela uzanto. Por tiaj sistemoj, atako povas esti farita nur se ekzistas reguloj de la formo:

miagastiganto ĈIUJ = (ĈIUJ, !radiko) NOPASSWD: /usr/bin/id

Problemo riparita en eldono Sudo 1.8.28. La riparo ankaŭ haveblas en la formo flikaĵo. En distribuaj iloj, la vundebleco jam estis riparita Debian, Arch Linukso, SUSE/malfermuSUSE, ubuntu, Gentoo и FreeBSD. Dum la skribado, la problemo restas nesolvita RELO и Fedora. La vundebleco estis identigita de sekurecaj esploristoj de Apple.

fonto: opennet.ru

Aldoni komenton