CVE-2026-48708
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
OliveTin w wersjach 3000.0.0 i wcześniejszych umożliwia dostęp do zdefiniowanych poleceń powłoki z interfejsu webowego. Wykorzystanie wspólnej instancji silnika szablonów bez synchronizacji prowadzi do warunków wyścigu, co skutkuje zanieczyszczeniem poleceń między użytkownikami oraz błędami wykonania.
Ocena ryzyka
Organizacja może być narażona na nieautoryzowane wykonanie poleceń oraz awarie aplikacji, co może prowadzić do poważnych problemów z bezpieczeństwem i stabilnością systemu.
Rekomendacja
Zaleca się aktualizację do wersji 3000.13.0 lub nowszej, aby usunąć tę podatność i zapewnić prawidłowe działanie aplikacji.
Inne podatności w OliveTin
Zobacz wszystkie- CVE-2026-53541Średnie
OliveTin przed commitem ebffd9f040f791208aee1db2e5a8aecd1e3e603d zawiera podatność, która pozwala argumentom o nazwie zaczynającej się od 'ot_' ominąć filtr filterToDefinedArgumentsOnly. Te argumenty nie są sprawdzane pod kątem typów, są ustawiane jako zmienne środowiskowe i przekazywane do wykonywanych poleceń, a także dostępne w kontekście szablonów.
- CVE-2026-67439Średnie
W OliveTin przed wersją 3000.17.0, endpointy StartActionAndWait i StartActionByGetAndWait zwracają pełne dane wyjściowe LogEntry po wykonaniu akcji, nie wymuszając uprawnienia 'logs'. Użytkownik z uprawnieniem 'exec' ale bez 'logs' może odczytać wyniki akcji.
- CVE-2026-67438Średnie
W OliveTin od wersji 3000.2.0 do 3000.17.0, funkcja checkShellArgumentSafety nie traktuje typów argumentów niestandardowych 'regex:' jako niebezpiecznych dla trybu Shell. Pozwala to na wstrzyknięcie poleceń OS przez interpolację wartości do ciągu polecenia sh -c.
- CVE-2026-67437Wysokie
OliveTin do wersji 3000.17.0 przechowuje stany logowania OAuth2 w mapie bez ograniczeń czasowych ani rozmiaru, co pozwala nieuwierzytelnionemu atakującemu na wyczerpanie pamięci i spowodowanie odmowy usługi (DoS).
- CVE-2026-48709Niskie
OliveTin w wersjach 3000.0.0 i wcześniejszych umożliwia dostęp do predefiniowanych poleceń powłoki z interfejsu webowego. Punkt końcowy ValidateArgumentType RPC nie wykonuje żadnych kontroli uwierzytelniania ani autoryzacji, co pozwala nieautoryzowanym użytkownikom na enumerację identyfikatorów powiązań akcji i ich konfiguracji argumentów.
Oryginalny opis (angielski, źródło NVD)
OliveTin gives access to predefined shell commands from a web interface. In versions 3000.0.0 and prior, the template engine uses a single shared text/template.Template instance (tpl package-level variable in service/internal/tpl/templates.go) across all goroutines. Every action execution calls tpl.Parse(source) followed by t.Execute() on this shared instance with no synchronization. When two or more actions execute concurrently (which is the normal case — each ExecRequest spawns a goroutine), a race condition occurs: one goroutine's Parse overwrites the template tree while another goroutine is calling Execute, causing cross-user command contamination, Go runtime panic, and incorrect command execution. This issue has been resolved in version 3000.13.0.

