CVE-2026-50186
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
4gaBoards przed wersją 3.3.8 pozwala uwierzytelnionemu menedżerowi projektu na podanie sekwencji przejścia do katalogu w parametrze filename w żądaniu GET /exports/:id/:filename. W pliku server/api/controllers/boards/download.js wartość inputs.filename jest przekazywana do path.join() bez walidacji, co umożliwia wybranie dowolnego pliku czytelnego dla procesu serwera. Dodatkowo, po pobraniu pliku, ten sam path jest używany do usunięcia pliku, co może prowadzić do utraty danych lub DoS.
Ocena ryzyka
Atakujący może odczytać dowolne pliki z serwera, w tym dane wrażliwe, oraz usunąć je, co może spowodować utratę danych lub przerwanie działania usługi.
Rekomendacja
Zaktualizuj 4gaBoards do wersji 3.3.8 lub nowszej, która zawiera poprawkę.
Oryginalny opis (angielski, źródło NVD)
4gaBoards is a boards system for realtime project management. Prior to 3.3.8, 4gaBoards allows an authenticated project manager to supply traversal sequences in the filename parameter of GET /exports/:id/:filename. In server/api/controllers/boards/download.js, the decoded inputs.filename value is passed to path.join() beneath private/exports/<user_id>/ without containment validation. A crafted value such as ../ can select an arbitrary file readable by the server process, and the file is returned to the attacker. The fileStream close handler then passes the same path to fs.unlink(), deleting the selected file and potentially causing data loss or denial of service. This issue is fixed in version 3.3.8.

