Aplikacja Note Mark przed wersją 0.19.4 nie wymuszała minimalnej długości ani entropii wartości konfiguracyjnej JWT_SECRET, akceptując sekrety tak krótkie jak 1 bajt. Skutkuje to słabą kryptografią podpisywania tokenów JWT, co umożliwia ich fałszowanie.
▸ Pokaż oryginał (EN)
Note Mark is an open-source note-taking application. Prior to 0.19.4, no minimum length or entropy is enforced on the JWT_SECRET configuration value. The application accepts any base64-decodable secret regardless of size, including secrets as short as 1 byte. This vulnerability is fixed in 0.19.4.
Aplikacja przyjmuje dowolną wartość JWT_SECRET, która jest dekodowalna z base64, bez względu na jej rozmiar — w tym wartości jednobajtowe. Krótki lub przewidywalny sekret drastycznie obniża bezpieczeństwo podpisu tokenów JWT (CWE-326: nieodpowiednia siła algorytmu kryptograficznego). Brak weryfikacji integralności konfiguracji (CWE-345) oznacza, że aplikacja nie sprawdza, czy dostarczony sekret spełnia minimalne wymagania bezpieczeństwa. Atakujący może metodą brute-force odgadnąć krótki sekret i sfałszować dowolny token JWT.
Atakujący może sfałszować token JWT i podszyć się pod dowolnego użytkownika aplikacji, w tym administratora, uzyskując nieautoryzowany dostęp do danych i funkcji systemu.
Należy zaktualizować aplikację Note Mark do wersji 0.19.4, która wymusza minimalną długość i entropię wartości JWT_SECRET. Dodatkowo zaleca się natychmiastową zmianę JWT_SECRET na wartość o wysokiej entropii i odpowiedniej długości oraz unieważnienie istniejących sesji użytkowników.
Note Mark w wersjach wcześniejszych niż 0.19.4
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N