CVE-2026-71191
ŚrednieCVSS 6.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
W OpenStack Swift do wersji 2.38.0 middleware S3API nie wymusza objęcia semantycznych nagłówków x-amz-* podpisem SigV4 w żądaniach z presigned URL. Atakujący, posiadając presigned PUT URL, może wstrzyknąć niepodpisany nagłówek X-Amz-Copy-Source, co powoduje wykonanie kopii po stronie serwera z dowolnego obiektu źródłowego w kontekście autoryzacji podpisującego. Umożliwia to odczyt dowolnego obiektu, do którego dostęp ma podpisujący, jeśli znane są project_id, nazwa kontenera i nazwa obiektu.
Ocena ryzyka
Ryzyko polega na nieautoryzowanym dostępie do danych — atakujący może odczytać wrażliwe obiekty, do których dostęp ma właściciel presigned URL, bez posiadania własnych uprawnień. Dotyczy to wszystkich wdrożeń z domyślną konfiguracją s3_acl=false.
Rekomendacja
Zaleca się natychmiastową aktualizację OpenStack Swift do wersji nowszej niż 2.38.0, w której podatność została naprawiona. Do czasu aktualizacji należy rozważyć zmianę konfiguracji s3_acl na true lub ograniczenie użycia presigned URL.
Inne podatności w OpenStack Swift
Zobacz wszystkie- CVE-2026-71192Średnie
W OpenStack Swift do wersji 2.38.0, middleware S3API nie oczyszcza natywnych nagłówków kontrolnych Swift (X-Copy-From, X-Copy-From-Account) z żądań API S3, gdy włączona jest opcja s3_acl=true. Atakujący może wstrzyknąć te nagłówki do podpisanego żądania PUT skierowanego do własnego kontenera, co powoduje wykonanie kopii po stronie serwera z prywatnego obiektu innego dzierżawcy. Autoryzacja źródłowego obiektu jest pomijana, ponieważ middleware S3API już autoryzował żądanie względem miejsca docelowego.
- CVE-2026-71190Wysokie
W OpenStack Swift do wersji 2.38.0 parser nagłówka Accept w serwerze proxy zawiera wyrażenie regularne podatne na katastrofalne cofanie (ReDoS). Wzorzec "qdtext" (?:[^"]|\\.)* pozwala nieuwierzytelnionemu zdalnemu atakującemu wysłać spreparowany nagłówek Accept, powodując wykładnicze zużycie CPU w procesie roboczym proxy. Ładunek 32 par znaków backslash przekracza 30 sekund czasu CPU. Powtarzane żądania mogą wyczerpać wszystkie wątki robocze proxy, powodując całkowitą odmowę usługi.
- CVE-2026-50221Średnie
W OpenStack Swift przed wersją 2.37.2 serwer proxy nie usuwa wewnętrznych nagłówków aktualizacji (X-Container-Host, X-Container-Device, X-Delete-At-Host, X-Delete-At-Device) z żądań klientów przed przekazaniem ich do serwerów obiektów. Uwierzytelniony użytkownik z dostępem do zapisu może wstrzyknąć te nagłówki, aby przekierować żądania aktualizacji kontenera na kontrolowany przez atakującego serwer, co umożliwia fałszowanie żądań po stronie serwera (SSRF).
- CVE-2026-49017Wysokie
W OpenStack Swift przed wersjami 2.36.2 i 2.37.2, oprogramowanie pośredniczące s3api wchodzi w nieskończoną pętlę podczas przetwarzania obciętego żądania PUT z kodowaniem aws-chunked. Klasa StreamingInput wielokrotnie dołącza pusty bufor i ponownie odczytuje, powodując trwałe zawieszenie procesu roboczego proxy-server z rosnącym zużyciem CPU i pamięci. Uwierzytelniony atakujący może systematycznie wyczerpać wszystkie procesy robocze proxy-server, prowadząc do odmowy usługi. Błąd wprowadzono w Swift 2.36.0.
Oryginalny opis (angielski, źródło NVD)
In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.

