CVE-2026-50554
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
Note Mark to aplikacja do notatek o otwartym kodzie źródłowym. Przed wersją 0.19.5, GET /api/books/{bookID}/notes jest nieuwierzytelnionym punktem końcowym, który akceptuje parametr zapytania "deleted". Gdy żądanie ma ?deleted=true, usługa wykonuje zapytanie z Unscoped() (omijając zakres miękkiego usuwania GORM), ale zachowuje klauzulę autoryzacji odczytu jako "owner_id = ? OR is_public = ?". W rezultacie każdy nieuwierzytelniony wywołujący może wyliczyć metadane miękko usuniętych ("przeniesionych do kosza") notatek należących do dowolnej publicznej książki — notatek, które właściciel jawnie usunął i oczekiwał, że zostaną usunięte z widoku publicznego.
Ocena ryzyka
Podatność umożliwia nieautoryzowanym użytkownikom dostęp do metadanych usuniętych notatek, co może naruszać prywatność użytkowników i ujawniać informacje, które miały być ukryte.
Rekomendacja
Zaktualizuj Note Mark do wersji 0.19.5 lub nowszej. Dodatkowo rozważ ograniczenie dostępu do punktu końcowego i wdrożenie mechanizmów autoryzacji dla zapytań o usunięte notatki.
Inne podatności w Note Mark
Zobacz wszystkie- CVE-2026-44523Krytyczne
Aplikacja Note Mark przed wersją 0.19.4 nie wymusza minimalnej długości ani entropii dla wartości konfiguracyjnej JWT_SECRET. Umożliwia to akceptację dowolnego sekretu kodowanego w base64, w tym sekretów o długości zaledwie 1 bajta.
- CVE-2026-50553Wysokie
Note Mark przed wersją 0.19.5 nieprawidłowo waliduje wartości slug, ponieważ wzorzec OpenAPI/huma nie jest zakotwiczony, co pozwala na akceptację ścieżek zawierających segmenty ../. Komendy eksportu danych używają tych slugów do tworzenia plików poza katalogiem eksportu, co może prowadzić do zapisu plików z uprawnieniami roota.
- CVE-2026-44522Wysokie
W Note Mark od wersji 0.13.0 do przed 0.19.4 nazwa pliku zasobu przesyłanego przez uwierzytelnionego użytkownika (nagłówek X-Name) jest zapisywana w bazie bez walidacji, co pozwala na sekwencje przejścia katalogów. Podczas eksportu CLI nazwa ta trafia do `filepath.Join()` i `os.Create()`, umożliwiając zapis plików w dowolnych lokalizacjach w systemie plików.
- CVE-2026-41572Średnie
Note Mark to aplikacja do robienia notatek. W wersjach przed 0.19.3 po miękkim usunięciu publicznej książki przez właściciela, jej notatki i przesłane zasoby pozostają czytelne pod /api/notes/{id}, /api/notes/{id}/content, adresem slug i endpointami zasobów. Nieuwierzytelnieni użytkownicy posiadający ID notatki lub ścieżkę slug zachowują dostęp. Zakres miękkiego usuwania GORM nie obejmuje surowych klauzul "JOIN books ..." używanych w zapytaniach o notatki i zasoby.
- CVE-2026-40265Średnie
W Note Mark w wersjach 0.19.1 i wcześniejszych endpoint /api/notes/{noteID}/assets/{assetID} nie wymaga uwierzytelnienia, a zapytanie backendu nie weryfikuje własności ani widoczności notatki. Nieuwierzytelniony użytkownik znający identyfikatory notatki i zasobu może pobrać pełną zawartość prywatnych zasobów notatki.
- CVE-2026-40263Niskie
W aplikacji Note Mark w wersjach 0.19.1 i wcześniejszych endpoint logowania wykonuje weryfikację hasła bcrypt tylko dla istniejących nazw użytkowników, zwracając natychmiast dla nieistniejących. Ta różnica czasu odpowiedzi pozwala nieuwierzytelnionym atakującym wyliczać prawidłowe nazwy użytkowników. Problem naprawiono w wersji 0.19.2.
Oryginalny opis (angielski, źródło NVD)
Note Mark is an open-source note-taking application. Prior to version 0.19.5, GET /api/books/{bookID}/notes is an unauthenticated endpoint that accepts a "deleted" query parameter. When the request is ?deleted=true, the service runs the query with Unscoped() (bypassing GORM's soft-delete scope) but keeps the read-authorization clause as "owner_id = ? OR is_public = ?". As a result, any unauthenticated caller can enumerate the metadata of soft-deleted ("trashed") notes belonging to any public book — notes the owner explicitly deleted and expected to be removed from public view. This issue has been patched in version 0.19.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

