Aplikacja Memos do wersji v0.24.3 umożliwia osadzanie w notatkach obrazków Markdown z dowolnymi adresami URL, co prowadzi do automatycznego ujawnienia adresu IP i innych danych przeglądarki użytkownika przeglądającego taką notatkę. Podatność pozwala na śledzenie użytkowników i zbieranie informacji o ich środowisku bez ich świadomej zgody.
▸ Pokaż oryginał (EN)
The Memos application, up to version v0.24.3, allows for the embedding of markdown images with arbitrary URLs. When a user views a memo containing such an image, their browser automatically fetches the image URL without explicit user consent or interaction beyond viewing the memo. This can be exploited by an attacker to disclose the viewing user's IP address, browser User-Agent string, and potentially other request-specific information to the attacker-controlled server, leading to information disclosure and user tracking.
Atakujący tworzy notatkę (memo) zawierającą osadzony obrazek Markdown wskazujący na kontrolowany przez siebie serwer. Gdy ofiara wyświetla taką notatkę, jej przeglądarka automatycznie wysyła żądanie HTTP do serwera atakującego w celu pobrania obrazka. W tym żądaniu przesyłane są m.in. adres IP klienta oraz nagłówek User-Agent przeglądarki, a potencjalnie również inne metadane żądania. Cały proces zachodzi bez jakiejkolwiek dodatkowej interakcji użytkownika poza samym otwarciem notatki.
Atakujący może uzyskać adres IP ofiary, ciąg identyfikacyjny przeglądarki (User-Agent) oraz inne informacje zawarte w żądaniu HTTP, co umożliwia nieautoryzowane śledzenie użytkowników i profilowanie ich środowiska sieciowego.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu aktualizacji zaleca się ograniczenie możliwości tworzenia notatek przez niezaufanych użytkowników lub wdrożenie polityki Content Security Policy blokującej ładowanie zewnętrznych zasobów.
Usememos Memos do wersji v0.24.3 włącznie
Podatność zgłoszona i udokumentowana przez badacza w repozytorium GitHub (fai1424/Vulnerability-Research). Pomimo oceny CVSS 9.8 (CRITICAL) rzeczywisty wpływ ogranicza się do ujawnienia informacji (CWE-200) bez możliwości wykonania kodu czy przejęcia systemu, co warto uwzględnić przy ocenie ryzyka.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HUsememos Memos
APPUsememos≤ 0.24.3
Powiązane podatności
SSRF w Usememos Memos — brak walidacji URL dostarczanych przez użytkownika
Improper Access Control in GitHub repository usememos/memos prior to 0.13.2.
Cross-site Scripting (XSS) - Stored in GitHub repository usememos/memos prior to 0.9.1.
Cross-site Scripting (XSS) - Stored in GitHub repository usememos/memos prior to 0.9.1.
Authorization Bypass Through User-Controlled Key in GitHub repository usememos/memos prior to 0.9.0.