CRITICAL🇬🇧 English

CVE-2024-32980

Spin: SSRF poprzez nagłówek Host w aplikacjach WebAssembly

CVSS 9.1v3.1pub. 2024-05-08upd. 2026-04-15

Podatność w narzędziu Spin (platforma do budowania aplikacji serverless na WebAssembly) umożliwia atakującemu wymuszenie na aplikacji wykonania żądań do dowolnych hostów poprzez manipulację nagłówkiem HTTP `Host`. Dotyczy wersji wcześniejszych niż 2.4.3 i może prowadzić do poważnego naruszenia poufności oraz integralności danych.

Pokaż oryginał (EN)

Spin is the developer tool for building and running serverless applications powered by WebAssembly. Prior to 2.4.3, some specifically configured Spin applications that use `self` requests without a specified URL authority can be induced to make requests to arbitrary hosts via the `Host` HTTP header. The following conditions need to be met for an application to be vulnerable: 1. The environment Spin is deployed in routes requests to the Spin runtime based on the request URL instead of the `Host` header, and leaves the `Host` header set to its original value; 2. The Spin application's component handling the incoming request is configured with an `allow_outbound_hosts` list containing `"self"`; and 3. In reaction to an incoming request, the component makes an outbound request whose URL doesn't include the hostname/port. Spin 2.4.3 has been released to fix this issue.

🤖 Analiza AI
Jak działa

Podatność typu SSRF (Server-Side Request Forgery) występuje, gdy spełnione są łącznie trzy warunki: środowisko wdrożeniowe kieruje ruch do Spin na podstawie URL żądania (nie nagłówka `Host`), pozostawiając oryginalną wartość nagłówka `Host` bez zmian; komponent aplikacji Spin obsługujący żądanie przychodzące ma skonfigurowaną listę `allow_outbound_hosts` zawierającą wartość `"self"`; oraz w reakcji na żądanie przychodzące komponent wykonuje żądanie wychodzące bez jawnie podanej nazwy hosta lub portu w URL. W takim przypadku Spin używa wartości nagłówka `Host` do skonstruowania żądania wychodzącego, co pozwala atakującemu wskazać dowolny host poprzez manipulację tym nagłówkiem.

Skutki

Atakujący może skłonić aplikację Spin do wysyłania żądań HTTP do dowolnych, nieautoryzowanych hostów, co może skutkować nieuprawnionym dostępem do wewnętrznych zasobów sieciowych, wyciekiem poufnych danych lub modyfikacją danych poprzez interakcję z niezamierzonymi usługami.

Mitygacja

Należy zaktualizować Spin do wersji 2.4.3 lub nowszej, w której problem został naprawiony. Poprawka dostępna jest w repozytorium projektu (commit b3db535c9edb72278d4db3a201f0ed214e561354). Dodatkowo warto zweryfikować konfigurację `allow_outbound_hosts` w komponentach aplikacji oraz upewnić się, że żądania wychodzące zawsze mają jawnie podany hostname i port w URL.

Kogo dotyczy

Narzędzie Spin w wersjach wcześniejszych niż 2.4.3, przy czym podatność ujawnia się wyłącznie w specyficznie skonfigurowanych aplikacjach spełniających opisane warunki środowiskowe i konfiguracyjne.

Uwagi

Podatność została zgłoszona i naprawiona przez zespół Fermyon (twórców Spin). Szczegóły dostępne w security advisory GHSA-f3h7-gpjj-wcvh w repozytorium GitHub projektu.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje