Kwesbaarheid in sudo wat voorregte-eskalasie moontlik maak wanneer spesifieke reëls gebruik word

In die nut sudo, wat gebruik word om die uitvoering van opdragte namens ander gebruikers te organiseer, geïdentifiseer kwesbaarheid (CVE-2019-14287), wat jou toelaat om opdragte met wortelregte uit te voer, as daar reëls in die sudoers-instellings is waarin daar in die gebruiker-ID-kontrole-afdeling na die toelaatbare sleutelwoord "ALL" 'n uitdruklike verbod is om met wortelregte te hardloop ("... (ALLES, !wortel) ..." ). Die kwesbaarheid verskyn nie in verstekkonfigurasies in verspreidings nie.

As sudoers geldige, maar uiters skaars in die praktyk, reëls het wat die uitvoering van 'n sekere opdrag onder die UID van enige gebruiker behalwe root toelaat, kan 'n aanvaller wat die magtiging het om hierdie opdrag uit te voer die gevestigde beperking omseil en die opdrag uitvoer met wortel regte. Om die beperking te omseil, probeer net om die opdrag uit te voer wat in die instellings gespesifiseer is met UID "-1" of "4294967295", wat sal lei tot die uitvoering daarvan met UID 0.

Byvoorbeeld, as daar 'n reël in die instellings is wat enige gebruiker die reg gee om die program /usr/bin/id onder enige UID uit te voer:

myhost ALL = (ALLES, !root) /usr/bin/id

of 'n opsie wat uitvoering slegs vir 'n spesifieke gebruiker bob toelaat:

myhost bob = (ALLES, !root) /usr/bin/id

Die gebruiker kan "sudo -u '#-1' id" uitvoer en die /usr/bin/id nutsprogram sal as wortel geloods word, ten spyte van die eksplisiete verbod in die instellings. Die probleem word veroorsaak deur die oorsig van die spesiale waardes "-1" of "4294967295", wat nie tot 'n verandering in UID lei nie, maar aangesien sudo self reeds as wortel loop, sonder om die UID te verander, is die teikenopdrag ook van stapel gestuur met wortelregte.

In SUSE- en openSUSE-verspreidings, sonder om "NOPASSWD" in die reël te spesifiseer, is daar 'n kwesbaarheid nie ontginbaar nie, aangesien in sudoers die "Defaults targetpw"-modus by verstek geaktiveer is, wat die UID teen die wagwoorddatabasis kontroleer en jou vra om die teikengebruiker se wagwoord in te voer. Vir sulke stelsels kan 'n aanval slegs uitgevoer word as daar reëls van die vorm is:

myhost ALL = (ALLE, !root) NOPASSWD: /usr/bin/id

Probleem reggestel in vrystelling Sudo 1.8.28. Die oplossing is ook beskikbaar in die vorm pleister. In verspreidingsstelle is die kwesbaarheid reeds reggestel Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. Ten tyde van die skryf daarvan bly die probleem onopgelos RHEL и Fedora. Die kwesbaarheid is deur sekuriteitsnavorsers van Apple geïdentifiseer.

Bron: opennet.ru

Voeg 'n opmerking