Sa utility , gigamit sa pag-organisar sa pagpatuman sa mga sugo alang sa ubang mga tiggamit, kahuyang (), nga nagtugot kanimo sa pag-eskala sa imong mga pribilehiyo ngadto sa root user. Ang isyu anaa na sukad sa sudo 1.7.1 lamang kung gamiton ang opsyon nga "pwfeedback" sa /etc/sudoers file, nga gi-disable pinaagi sa default apan gi-enable sa pipila ka mga distribusyon, sama sa Linux Mint ug Elementary OS. Naayo na ang problema sa release , gipatik pipila ka oras ang milabay. Ang kahuyangan nagpabilin nga wala matul-id sa mga distribusyon.
Ang opsyon nga "pwfeedback" makapahimo sa pagpakita sa simbolo nga "*" human sa matag karakter nga gisulod kon mosulod og password. Tungod niini Sa pagpatuman sa getln() function nga gihubit sa tgetpass.c file, ang usa ka dako nga password string nga gipasa pinaagi sa standard input stream (stdin) mahimong, ubos sa pipila ka mga kondisyon, dili mohaom sa gi-allocate nga buffer ug ma-overwrite ang ubang datos sa stack. Ang overflow mahitabo kung mag-execute sa sudo code nga adunay root privileges.
Ang esensya sa problema mao nga kung gamiton ang espesyal nga karakter nga ^U (line clearing) atol sa proseso sa pag-input ug kung mapakyas ang operasyon sa pagsulat, ang code nga responsable sa pagtangtang sa mga output character nga "*" mag-reset sa datos sa magamit nga gidak-on sa buffer, apan dili ibalik ang pointer sa kasamtangang posisyon sa buffer sa orihinal nga kantidad niini. Laing hinungdan nga nakatampo sa pagpahimulos mao ang kakulang sa awtomatikong pag-disable sa "pwfeedback" mode kung ang datos madawat dili gikan sa terminal, apan pinaagi sa input stream (kini nga depekto nagtugot sa paghimo og mga kondisyon alang sa pagkahitabo sa usa ka sayup sa pagsulat, pananglitan, sa mga sistema nga adunay one-way Ang sayop mahitabo kon mosulay sa pagsulat lapas sa katapusan sa read channel).
Tungod kay ang usa ka tig-atake adunay hingpit nga kontrol sa pag-overwriting sa datos sa stack, dali ra ang paghimo og exploit aron ma-escalate ang ilang mga pribilehiyo sa pag-root. Kini nga isyu mahimong pahimuslan sa bisan kinsang tiggamit, bisan unsa pa ang mga permiso sa sudo o mga setting nga espesipiko sa tiggamit sa sudoers. Aron malikayan kini nga isyu, siguroha nga ang setting nga "pwfeedback" wala sa /etc/sudoers ug, kung kinahanglan, i-disable kini ("Defaults !pwfeedback"). Aron masulayan ang isyu, ipadagan ang mosunod nga code:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Password: Sayop sa pagbahinbahin
Source: opennet.ru
