CVE-2019-16228
WysokieStreszczenie
W bibliotece py-lmdb 0.97 odkryto błąd dzielenia przez zero w funkcji mdb_env_open2, który występuje, gdy funkcja mdb_env_read_header odczyta zerową wartość dla określonego pola rozmiaru. Problem może zostać wykorzystany poprzez dostarczenie spreparowanego pliku data.mdb.
Ocena ryzyka
Atakujący może spowodować awarię aplikacji korzystającej z py-lmdb poprzez dostarczenie złośliwego pliku bazy danych, co prowadzi do odmowy usługi (DoS).
Rekomendacja
Należy zaktualizować bibliotekę py-lmdb do wersji, w której naprawiono ten błąd, lub zastosować obejście polegające na walidacji plików data.mdb przed ich przetworzeniem.
Inne podatności w py-lmdb
Zobacz wszystkie- CVE-2019-16226Wysokie
W bibliotece py-lmdb 0.97 odkryto podatność polegającą na braku walidacji operacji memmove w funkcji mdb_node_del dla nieoczekiwanej wartości node->mn_hi, co prowadzi do nieprawidłowej operacji zapisu. Problem występuje podczas dostępu do pliku data.mdb dostarczonego przez atakującego.
- CVE-2019-16224Krytyczne
W bibliotece py-lmdb 0.97 odkryto podatność polegającą na nieprawidłowym ustawieniu miejsca docelowego dla funkcji memcpy w przypadku określonych wartości md_flags, co prowadzi do nieprawidłowej operacji zapisu. Problem występuje podczas dostępu do pliku data.mdb dostarczonego przez atakującego.
- CVE-2019-16225Krytyczne
W bibliotece py-lmdb 0.97 odkryto problem, w którym funkcja mdb_page_touch nieprawidłowo ustawia mc->mc_pg[mc->top] dla określonych wartości mp_flags, co prowadzi do nieprawidłowej operacji zapisu. Podatność może być wykorzystana poprzez dostarczenie spreparowanego pliku data.mdb.
- CVE-2019-16227Krytyczne
W bibliotece py-lmdb 0.97 odkryto problem, w którym dla określonych wartości flag mn_flags funkcja mdb_cursor_set wywołuje memcpy z nieprawidłową operacją zapisu wewnątrz mdb_xcursor_init1. Problem występuje podczas dostępu do pliku data.mdb dostarczonego przez atakującego.
Oryginalny opis (angielski, źródło NVD)
An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.

