Łatka na lukę w programie do sterowania głośniczkiem PC jeszcze groźniejsza od luki
Starsi Czytelnicy zapewne pamiętają, że kiedyś w pecetachinstalowane były głośniczki do wydawania pisków. Ten najstarszysystem dźwiękowy komputerów PC pojawił się już w IBM PC 5150 w1981 roku, i szybko zaczął być wykorzystywany nie tylko doostrzeżeń systemu operacyjnego, ale też w grach komputerowych,budząc rozbawienie użytkowników Commodore C64. We współczesnychkomputerach tego cuda już nie znajdziemy, ale to nie znaczy, żezapomniano o nim w systemach operacyjnych. Na Linuksie do sterowaniagłośniczkiem służy polecenie beep, które jak się okazuje,potrafi o wiele więcej. Za jego pomocą możemy uzyskać w systemieuprawnienia administracyjne.
09.04.2018 13:43
To chyba jeden z najśmieszniejszych błędów w ostatnichczasach, który zarazem jak podają jego odkrywcy, może zagrażaćmilionom osób. Polecenie beep nie jest bowiem w większościdystrybucji domyślnie instalowane, z analizy popularności pakietówDebiana wynika jednak, że korzysta z niego niemal 2% jegoużytkowników. Dlaczego? Nie mamy pojęcia, czyżby chciano wygrywaćmelodyjki na głośniczkach? Zwykłe polecenie konsoli printf "\a"wydaje tylko pisk, beep pozwala zaś na sterowanie częstotliwościąi długością dźwięku.
Szef Debiana Chris Lamb poinformowałw zeszłym tygodniu, że beep zawiera podatność pozwalającą w specyficznych warunkach napodniesienie uprawnień poprzez wywołanie sytuacji hazardu (racecondition). Błąd został odkryty i załatanyza pomocą dostarczonej przez kogoś łatki w pakietach dla DebianaJessie, Stretch i Wheezy. I gdyby na tym się skończyło, nie byłobyspecjalnie o czym wspominać.
Łatka została bowiem opublikowana została na satyrycznejwitrynie holeybeep.ninja,mającej być kpiną z mody na tworzenie stron internetowychpoświęconych modnym błędom. Znalazła się tam obok skryptu dotestowania podatności i linku do filmiku o beczącychowcach. Ale czy to naprawdę łatka?
Podczas dyskusji na debianowej liście o bugach okazało się, żełatka wprowadza kolejne podatności, w tym jedną bardzogroźną: pozwalającą na otworzenie dowolnego pliku do zapisu zuprawnieniami roota, z pominięciem uprawnień pliku, dając dostępdo plików nawet ukrytych przez użytkownikiem. Odkrywca, niemieckibadacz Hanno Böck otwarcie spytał:czy w ogóle warto ratować narzędzie do sterowanianieistniejącym głośniczkiem?
Böck wspomina także o przepełnieniubufora i błędzie w samejpoprawce dla pierwotnie odkrytej luki. Wygląda to wszystko jakrobota trolli. Najlepiej póki co zabezpieczyło się SUSE, któredla kompatybilności zastąpiło beep aliasem do polecenia printf‘\a’. Melodyjki się na tym nie zagra, ale to chyba niewielkastrata. Jeśli z jakiegoś powodu macie beep w swoich systemachoperacyjnych – po prostu usuńcie ten pakiet.