CVE-2026-76806
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
Solidtime to aplikacja open-source do śledzenia czasu. Przed wersją 0.16.0 metoda TogglDataImporter::importData() odczytywała kontrolowane przez atakującego wartości identyfikatorów projektów z pliku projects.json w przesłanych importach ZIP i łączyła je ze ścieżkami systemu plików bez walidacji. Ponieważ Spatie\TemporaryDirectory\TemporaryDirectory::path() tworzy brakujące katalogi nadrzędne, sekwencje przejścia mogły wydostać się z piaskownicy tymczasowej i tworzyć katalogi w dowolnych zapisywalnych ścieżkach hosta. Rozróżnialne odpowiedzi ImportController dla istniejących i nieistniejących celów ujawniały, czy ścieżki hosta z ograniczeniem sufiksu pochodzące z projects_users/{id}.json lub tasks/{id}.json istniały, ponieważ importer zawsze dołączał .json. Każdy zarejestrowany użytkownik mogący utworzyć organizację i użyć POST /api/v1/organizations/{org}/import z type=toggl_data_importer mógł wykorzystać tę lukę, potencjalnie powodując niewielki wpływ na dostępność poprzez wyczerpanie katalogów i ujawnienie informacji o układzie hosta. Problem naprawiono w wersji 0.16.0.
Ocena ryzyka
Zarejestrowany użytkownik może tworzyć katalogi w dowolnych zapisywalnych ścieżkach hosta i ujawniać informacje o układzie systemu plików, co może prowadzić do wyczerpania zasobów i ułatwić dalsze ataki.
Rekomendacja
Zaktualizuj Solidtime do wersji 0.16.0 lub nowszej, która zawiera poprawkę walidacji ścieżek w importerze TogglDataImporter.
Inne podatności w Solidtime
Oryginalny opis (angielski, źródło NVD)
Solidtime is an open-source time-tracking app. Prior to 0.16.0, TogglDataImporter::importData() read attacker-controlled project id values from projects.json in uploaded ZIP imports and concatenated them into filesystem paths without validation. Because Spatie\TemporaryDirectory\TemporaryDirectory::path() creates missing parent directories, traversal sequences could escape the temporary sandbox and create directories at arbitrary writable host paths. Distinguishable ImportController responses for existing versus missing targets exposed whether suffix-constrained host paths derived from projects_users/{id}.json or tasks/{id}.json existed, because the importer always appended .json. Any registered user able to create an organization and use POST /api/v1/organizations/{org}/import with type=toggl_data_importer could reach the flaw, potentially causing minor availability impact through directory exhaustion and disclosing host layout information. This issue is fixed in version 0.16.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

