Użytkownik vdohney podzielił się w serwisie SourceForge projektu KeePass prostym, ale skutecznym sposobem nieautoryzowanego uzyskania zapisanych haseł, w tym hasła głównego, którego używa ten menedżer haseł.
Okazuje się, iż wprowadzane hasła są przechowywane w przydzielonej przez system pamięci dla instancji procesu KeePass w postaci jawnej.
Do ich odczytu wystarczy więc wykonanie zrzutu procesu lub całej pamięci, a następnie przeszukanie utworzonego pliku np. z wykorzystaniem udostępnionego przez wspomnianego użytkownika narzędzia.
Ponadto w przypadku Windows istnieje pewna możliwość, iż poszukiwane ciągi znajdują się w plikach hiberfil.sys, pagefile.sys czy też swapfile.sys.
Działanie podatności nie jest uzależnione od systemu operacyjnego. Opisywana luka otrzymała oznaczenie CVE-2023-32784. Błąd zostanie naprawiony w przyszłym wydaniu KeePass 2.54 (aktualna wersja to 2.53.1). Główną przyczyną podatności jest użyty sposób przechowywania haseł w pamięci:
For example, when "Password" is typed, it will result in these leftover strings: •a, ••s, •••s, ••••w, •••••o, ••••••r, •••••••d.W celu wydobycia tych haseł atakujący musi mieć zapewniony dostęp zdalny / fizyczny do naszego systemu.
Należy pamiętać, iż wszelkie narzędzia bezpieczeństwa to zwykłe programy, w których zawsze mogą znaleźć się podobne błędy. Dlatego całkowite poleganie na różnych aplikacjach w zakresie bezpieczeństwa nie jest dobrym pomysłem. Bardzo istotny jest czynnik ludzki i stosowanie dobrych praktyk w celu ochrony naszych danych.
Zabezpieczenie KeePass
Aktualizacja KeePass do wersji 2.5.4 została zapowiedziana na czerwiec 2023 roku. Do tego czasu należy ograniczyć ryzyko wycieku pamięci poprzez zastosowanie ochrony dla Windows, aby przeciwdziałać złośliwemu oprogramowaniu, które mogłoby wykonać zrzut pamięci. Ryzyko nie jest duże, ale takie oprogramowanie istnieje i było już wielokrotnie używane w atakach ATP.