CVE-2026-41572
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Osoby niepowołane mogą uzyskać dostęp do usuniętych notatek i zasobów, co może prowadzić do wycieku poufnych informacji. Problem dotyczy wszystkich publicznych książek, które zostały usunięte.
Rekomendacja
Zaktualizuj Note Mark do wersji 0.19.3 lub nowszej. Sprawdź, czy usunięte książki nie są nadal dostępne i w razie potrzeby usuń je trwale.
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-50554Średnie
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.
- 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-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.3, after a note-mark owner soft-deletes a public book, its notes and uploaded assets stay readable at /api/notes/{id}, /api/notes/{id}/content, the slug URL, and the asset endpoints. Unauthenticated callers who hold the note ID or the slug path retain access. GORM's soft-delete scope does not reach the raw "JOIN books ..." clauses used by the note and asset queries. This issue has been patched in version 0.19.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

