CVE-2026-76847
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
act uruchamia backend HTTP Artifacts V4, gdy workflow używa actions/upload-artifact@v4 lub actions/download-artifact@v4. RPC warstwy kontrolnej tego backendu, w tym CreateArtifact, GetSignedArtifactURL, ListArtifacts, FinalizeArtifact i DeleteArtifact, akceptują dostarczony przez wywołującego workflow_run_backend_id i nigdy nie sprawdzają, czy należy on do żądającego: validateRunIDV4 w pkg/artifacts/artifacts_v4.go parsuje wartość i zwraca ją z porównaniem z ID uruchomienia żądającego zadania pozostawionym w komentarzu.
Ocena ryzyka
Podpisywane URL-e wydawane przez backend są uwierzytelniane przez HMAC z kluczem zakodowanym na stałe (0xba 0xdb 0xee 0xf0), identycznym w każdej kompilacji, co czyni podpisy podrabialnymi i niejednoznacznymi. Ponadto backend jest domyślnie dostępny z sieci, co pozwala każdemu klientowi na odczyt, nadpisanie lub usunięcie artefaktów równocześnie działającego zadania bez poświadczeń, co może ujawnić sekrety i poświadczenia wdrożeniowe.
Rekomendacja
Zastosuj poprawkę, która przywraca sprawdzanie ID uruchomienia, używa losowego klucza HMAC i domyślnie ustawia adres serwera na loopback, a także ogranicz dostęp sieciowy do backendu.
Powiązane podatności
- CVE-2026-120239Krytyczne
W urządzeniu WAVLINK WN553X1-B (wersja V260403_2.0.0) wykryto podatność w funkcji sub_419DA8 pliku /bin/ioos, w komponencie obsługi CLI WireGuard. Manipulacja argumentem file_id prowadzi do wstrzyknięcia poleceń systemu operacyjnego. Atak można przeprowadzić zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-120238Krytyczne
W urządzeniu WAVLINK WN553X1-B (wersja 260403_2.0.0) wykryto podatność w funkcji sub_4162A8 pliku /bin/ioos, w komponencie obsługi plików ovpn_file. Manipulacja argumentem file_id prowadzi do wstrzyknięcia poleceń systemu operacyjnego. Atak można wykonać zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-62048Krytyczne
Wtyczka BookIt (Liquid Web / StellarWP) zawiera podatność SQL Injection wynikającą z niewłaściwej neutralizacji znaków specjalnych w zapytaniach SQL. Problem dotyczy wersji do 2.6.0.6 włącznie.
- CVE-2026-120338Krytyczne
Sandbox Generative UI w prefab-ui uruchamia kod Python w Pyodide (WebAssembly) w podprocesie Deno, ale od wersji 0.14.0 do 0.20.2 proces Deno startuje z nieograniczonymi uprawnieniami --allow-read, --allow-write i --allow-net, a API Deno pozostaje dostępne w globalnym obiekcie JavaScript. Umożliwia to kodowi Python wywoływanie Deno.readTextFileSync i Deno.writeTextFileSync, czyli odczyt i zapis plików jako użytkownik systemu serwera oraz trwałe wykonanie kodu przez zapis pliku .pth w site-packages.
- CVE-2026-120231Krytyczne
W urządzeniu WAVLINK WN553X1-B (wersja V260403_2.0.0) wykryto podatność w funkcji sub_416568 pliku /bin/ioos, obsługującej interfejs CLI OpenVPN. Manipulacja argumentem file_id prowadzi do wstrzyknięcia poleceń systemu operacyjnego. Atak można przeprowadzić zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-120230Krytyczne
W urządzeniu WAVLINK WN701AE (wersja 260105) wykryto podatność w funkcji del_vlan_group komponentu ioos Web Backend. Manipulacja argumentem vlan_name prowadzi do wstrzyknięcia poleceń systemu operacyjnego. Atak można przeprowadzić zdalnie, a exploit jest publicznie dostępny.
- CVE-2026-120229Krytyczne
W urządzeniu WAVLINK WN553X1-B (wersja 260403_2.0.0) wykryto podatność w funkcji sub_416B50 pliku /bin/ioos. Manipulacja argumentem file_id prowadzi do wstrzyknięcia poleceń systemu operacyjnego. Atak można przeprowadzić zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-120228Krytyczne
W urządzeniu WAVLINK WN553X1-B (wersja V260403_2.0.0) wykryto podatność w funkcji sub_416D88 pliku /bin/ioos (komponent ioos Service). Manipulacja argumentami group_id/group_name może prowadzić do wstrzyknięcia poleceń systemu operacyjnego. Atak można wykonać zdalnie, a exploit został opublikowany.
- CVE-2026-120308Krytyczne
W Beta9 dzierżawca może podpiąć wolumen podczas wdrażania funkcji, endpointu lub kolejki zadań. Gateway buduje ścieżkę hosta łącząc katalog główny wolumenów współdzielonych, nazwę workspace i identyfikator wolumenu ze stubu, bez weryfikacji, czy wolumen należy do danego workspace. Segmenty katalogu nadrzędnego w identyfikatorze pozwalają zredukować ścieżkę do katalogu głównego systemu plików workera, który jest montowany w sandboxie z prawem zapisu, umożliwiając odczyt i zapis plików workera, w tym wolumenów innych dzierżawców.
- CVE-2026-120307Krytyczne
Worker Beta9 udostępnia API plików sandboxa spoza kontenera. Funkcja getHostPathFromContainerPath przekształca ścieżkę kontenera dzierżawcy na ścieżkę workera; jeśli nierozwiązana ścieżka zaczyna się od celu montowania (w tym domyślnego /tmp/.beta9), reszta jest dołączana do źródła montowania za pomocą filepath.Join, co czyści segmenty katalogu nadrzędnego po sprawdzeniu prefiksu. Odpowiednio długi ciąg takich segmentów wskazuje dowolną ścieżkę absolutną na workerze, a ścieżka niepasująca do żadnego montowania jest otwierana w systemie plików workera, podążając za dowiązaniami symbolicznymi. Dzierżawca z tokenem workspace i działającym sandboxem może czytać, zapisywać, listować i usuwać pliki na workerze jako root, w tym pliki innych dzierżawców.
Oryginalny opis (angielski, źródło NVD)
act starts an HTTP Artifacts V4 backend whenever a workflow uses actions/upload-artifact@v4 or actions/download-artifact@v4. The control-plane RPCs of that backend, including CreateArtifact, GetSignedArtifactURL, ListArtifacts, FinalizeArtifact and DeleteArtifact, accept a caller-supplied workflow_run_backend_id and never check that it belongs to the requester: validateRunIDV4 in pkg/artifacts/artifacts_v4.go parses the value and returns it with the comparison against the requesting task's run ID left commented out. The signed URLs the backend issues are authenticated by an HMAC whose key is hardcoded to the four bytes 0xba 0xdb 0xee 0xf0, identical in every build, computed over a concatenation of endpoint, expiry, artifact name and task ID with no length prefix or delimiter, so signatures are both forgeable and ambiguous between differing artifact name and task ID pairs. The --artifact-server-addr flag defaults to the host's outbound address rather than loopback, leaving the backend reachable from the surrounding network. Any client that can reach it may read, overwrite or delete the artifacts of a concurrently running job with no credentials, exposing build outputs such as secrets and deployment credentials and permitting their replacement before the owning job consumes them.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

