Biuletyn Bezpieczeństwa PLOUG

Od 2007-07-30 do 2007-11-16

Wojciech Dworakowski, SecuRing wojtekd@securing.pl

 

W bieżącym okresie ukazał się zestaw poprawek Oracle Critical Patch Update – October 2007. Poprawiono 51 podatności, z czego 27 dotyczy bazy danych. Warto zaznaczyć, że pomimo tego, iż według wyceny producenta żadna z usuwanych podatności nie wpływa znacznie na ryzyko, to 5 z nich może zostać wykorzystanych przez intruza, który działa zdalnie przez sieć i nie ma konta w bazie.

Ponadto w omawianym okresie ujawniono kilka ciekawych podatności, które nie są uwzględnione w ostatnim CPU.

Jak co kwartał przedstawiam podsumowanie dotyczące podatności, o których udało sie znaleźć więcej informacji niż te przekazane w Oracle CPU.

Możliwość spowodowania awarii bazy danych przez dowolnego użytkownika

Produkty podatne na zagrożenie:

Oracle Database – 10.2.0.1, 10.2.0.2

 

Data publicznego ujawnienia:

2007.11.02 (anonimowa wiadomość na liście dyskusyjnej „Full Disclosure”: http://seclists.org/fulldisclosure/2007/Nov/0072.html).

 

Opis:

W wyniku manipulacji jedną z procedur, dowolny użytkownik może doprowadzić do awarii procesu bazy Oracle lub wykonać wrogi kod w systemie operacyjnym serwera.

 

Status:

Na obecną chwilę nie ma dostępnej poprawki. Oracle zapowiedziało uwzględnienie poprawki w następnym CPU.

 

Ryzyko: duże

Do wykorzystania podatności w standardowej instalacji bazy danych wystarczy przywilej „create session”. Ponieważ exploit (kod PL/SQL wykorzystujący podatność) jest publicznie dostępny, zatem podatność może zostać wykorzystana nawet przez bardzo niedoświadczonego intruza. Ponadto exploit używa technik pozwalających ominąć ogólne reguły wykrywania tego typu ataków przez systemy zaporowe typu IDS/IPS.

 

Skutki potencjalnego ataku: duże

Skutkiem ataku jest zakończenie procesu bazy danych lub wykonanie wrogiego kodu w systemie operacyjnym. Dostępny exploit powoduje zakończenie procesu bazy.

 

Szczegóły techniczne:

W pakiecie XDB.XDB_PITRIG_PKG.PITRIG_DROPMETADATA istnieje podatność pozwalająca na przepełnienie bufora wejściowego.

 

Usunięcie podatności:

Nie istnieje oficjalna poprawka usuwająca opisywaną podatność. Administratorzy powinni kierować się zasadą najmniejszych koniecznych przywilejów i usunąć funkcjonalność XDB, jeśli nie jest ona potrzebna. W przeciwnym wypadku należy odebrać zbędne przywileje do podatnego pakietu.

Eskalacja przywilejów z poziomu DBA na SYSDBA

Produkty podatne na zagrożenie:

Oracle Database 11g

 

Data publicznego ujawnienia:

2007.11.10 (Tanel Poder – na swoim blogu).

 

Opis:

Użytkownik z przywilejami DBA może nadużywając mechanizmów importu danych uzyskać przywileje SYSDBA.

 

Status:

Podatności dotychczas nie poprawiono.

 

Ryzyko: małe

Podatność może zostać wykorzystana jedynie przez użytkownika, który posiada przywilej BECOME USER oraz prawo wykonania pakietu KUPP$PROC. W standardowej instalacji takie przywileje mają tylko role DBA i IMP_FULL_DATABASE. Podatność może mieć znaczenie jeśli role DBA i SYSDBA są oddzielone i nie ma pełnego zaufania do administratorów bazy – np. w przypadku out-sourcingu administracji samą bazą. Na blogu odkrywcy podatności został ujawniony sposób wykorzystania podatności.

 

Skutki potencjalnego ataku: duże

Skutkiem manipulacji jest osiągnięcie przywilejów SYSDBA.

 

Szczegóły techniczne:

Wykorzystanie podatności polega na wywołaniu procedury:

sys.kupp$proc.change_user (wymaga to przywileju BECOME USER), która jest elementem mechanizmu DataPump (nowy sposób importu danych) i zmienieniu użytkownika na ‚SYS’.

 

Usunięcie podatności:

W tej chwili nie istnieje oficjalna poprawka. Jako tymczasowy środek zaradczy można rozważyć odebranie przywileju BECOME USER administratorom (DBA).

Podatności pozwalające na atak metodą buffer overflow

Produkty podatne na zagrożenie:

Oracle Database – 8iR3, 9iR1, 9iR2 (9.2.0.6 i wcześniejsze), 10gR1 (10.1.0.4 i wcześniejsze)

 

Data publicznego ujawnienia:

2007.10.24 (firma Application Security Inc.).

 

Opis:

Manipulacja parametrami przekazywanymi do podatnych procedur może doprowadzić do wykonania wrogiego kodu w systemie operacyjnym. Kod wykona się z uprawnieniami właściciela instalacji Oracle.

 

Status:

Podatności poprawiono w CPU Oct 2007.

 

Ryzyko: duże

Podatności mogą być wykorzystane przez dowolnego użytkownika mającego możliwość wywoływania podatnych procedur z bazy danych (część z tych procedur jest dostępna dla grupy PUBLIC).

 

Skutki potencjalnego ataku: duże

Skutkiem ataku jest wykonanie dowolnego kodu w systemie operacyjnym z uprawnieniami właściciela instalacji Oracle lub zawieszenie procesu serwera bazy danych.

 

Szczegóły techniczne:

Podatności istnieją w następujących procedurach:

  • MDSYS.SDO_CS.TRANSFORM (dostępna dla grupy PUBLIC),
  • BMS_AQADM_SYS.DBLINK_INFO.

 

Usunięcie podatności:

Podatności są usuwane przez wgranie zestawu poprawek Oracle CPU Oct 2007.

Przepełnienie bufora w kon-trolce ActiveX Jinitiator

Produkty podatne na zagrożenie:

Oracle Jinitiator – 1.1.8.3 – 1.1.8.25

 

Data publicznego ujawnienia:

2007.08.28 (Will Dormann – CERT/CC, Stephen Kost – Integrigy).

 

Opis:

Kontrolka ActiveX Jinitiator jest podatna na atak metodą buffer overflow. Może to umożliwiać wykonanie wrogiego kodu na stacji roboczej.

 

Status:

Podatności dotychczas nie poprawiono.

 

Ryzyko: średnie

Podatności mogą być wykorzystane przez wrogą stronę WWW. Nie opublikowano precyzyjnych informacji o sposobie wykorzystania podatności.

 

Skutki potencjalnego ataku: duże

Skutkiem ataku jest wykonanie wrogiego kodu na stacji roboczej z uprawnieniami użytkownika, który uruchomił przeglądarkę.

 

Szczegóły techniczne:

Oracle Jinitiator zawiera kontrolkę ActiveX beans.ocx. W kontrolce tej istnieje wiele podatności pozwalających na przepełnienie bufora wejściowego w parametrach inicjalizujących. Parametry te są przekazywane przez stronę wywołującą tę kontrolkę.

 

Usunięcie podatności:

Obecnie nie istnieje poprawka usuwająca podatność. Administratorzy stacji roboczych powinni usunąć zbędne kontrolki Jinitiator w wersji 1.1.8 (zainstalowanie nowszej wersji nie usuwa starszej i w związku z tym na stacjach mogą być obecne podatne kontrolki pomimo tego, że nie są usuwane). Dokładniejsze instrukcje są przedstawione w artykule dostępnym pod adresem: http://www.integrigy.com/security-resources/analysis/integrigy-oracle-jinitiator-vulnerability.pdf

Hasła standardowe są zmieniane dopiero na koniec instalacji Oracle

Produkty podatne na zagrożenie:

Oracle Database – 10g, 11g

 

Data publicznego ujawnienia:

2007.11.13 (David Litchfield na swoim blogu).

 

Opis:

Podczas instalacji bazy danych, są zakładane konta SYS i SYSTEM ze standardowymi, dobrze znanymi hasłami. Hasła te są zmieniane pod koniec instalacji. Intruz może wykorzystać okres czasu między założeniem kont a ich zablokowaniem do przejęcia kontroli nad instalowaną bazą danych.

 

Status:

Podatności dotychczas nie poprawiono.

 

Ryzyko: małe

Podatność może zostać wykorzystana zdalnie przez sieć, jednak okno czasowe, które pozwala na wykorzystanie podatności (między założeniem kont a ich zablokowaniem) jest dość krótkie.

 

Skutki potencjalnego ataku: duże

Skutkiem ataku może być przejęcie kontroli nad kontami SYS i SYSTEM.

 

Szczegóły techniczne:

Konta SYS i SYSTEM są zakładane przez instalator bazy na wczesnych etapach ze standardowymi hasłami. Hasła te są zmieniane dopiero pod koniec instalacji. Ponadto podczas instalacji działa Oracle Listener i są możliwe zdalne połączenia z bazą. W związku z tym intruz, który będzie miał możliwość komunikacji z Listenerem będzie mógł wykorzystać hasła standardowe SYS i SYSTEM w okresie od utworzenia tych kont do zmienienia hasła. Według badań odkrywcy podatności, w standardowej instalacji bazy Oracle czas ten wynosi nieco ponad 2 minuty, ale zależy to silnie od ilości instalowanych opcji i wydajności systemu.

 

Usunięcie podatności:

Obecnie nie istnieje poprawka usuwająca podatność. Zgodnie z zasadami dobrej praktyki, wszelkie systemy kluczowe powinny być instalowane bez podłączenia do sieci lub tylko przy podłączeniu do sieci zaufanej.