Kilka dni temu podsumowaliśmy najciekawsze wydarzenia open source 2012 roku, ale świat nie składa się przecież z samych sukcesów. Przyszedł zatem czas na opisanie największych wpadek w wolnym oprogramowaniu, które to miały okazję spotkać, zarówno małe jak i wielkie projekty.
Naszą historię zaczynamy od niesławnej dodatkowej sekundy, zwanej sekundą przestępną, która spowodowała na niektórych systemach znaczący wzrost użycia procesora, a w najgorszych przypadkach zawieszanie się całego systemu. Nieciekawy, aczkolwiek rzadko występujący okazał się błąd, związany ze sterownikiem systemu plików ext4. Pojawił się on w sytuacji, kiedy blok startowy dziennika rozpoczynał się od zera i nie zdążono zapisać dziennika.
Następne dwa błędy okazały się niezwykle paskudne. Pierwszy występował w jądrze Linux i związany był z macierzami RAID. Nie niszczył on samych danych, ale utrudniał do nich dostęp. Drugi natomiast pojawiał się pod Ubuntu, w momencie kiedy wykonujemy proste operacje na partycjach, z dwoma systemami operacyjnymi.
W tym roku także MySQL zaliczył dwie poważne wpadki. Jedna z nich, oznaczona jako 0day na MySQL, podnosiła uprawnienia w Linuksie. Druga polegała na ominięciu autoryzacji i uzyskaniu bardzo łatwego dostępu do bazy danych z prawami administratora.
Narzędzie służące do łatwego zarządzania bazą danych MySQL, czyli phpMyAdmin posiadał groźnego backdoora. Luka pozwalała atakującym, na wstrzyknięcie zmodyfikowanej komendy PHP na serwer. Administratorzy serwerów Horde odkryli włamanie na FTP, które zawierało pliki instalacyjne Horde 3.3.12 i Groupware 1.2.10 oraz ich edycje webmailowe.
Nieciekawą sytuację przeżyli użytkownicy telefonów z Cyanogenmodem, kiedy okazało się, że wzór ekranu blokowania jest zapisywany w logach na pamięci wewnętrznej. Na szczęście szybko została wydana poprawka w oprogramowaniu.
Lukę bezpieczeństwa odkryto nawet w procesorach firmy Intel, a dokładniej we wbudowanym oprogramowaniu do wirtualizacji. Manipulując odpowiednio stosem, atakujący może wykonać kod z Ring 3 (3 kręgu), w Ring 0 (kręgu 0). Po uzyskaniu dostępu atakujący, mógł podnieść swoje lokalne uprawnienia lub uciec z wirtualnego więzienia maszyny.