Średni Odebrany

CVE-2026-59341

opublikowano:
modyfikacja:
Ocena CVSS
4.2
Średni · v3.1
wektor: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W nieuwierzytelnionych punktach końcowych POST kontrolera Sealed Secrets występuje luka w zabezpieczeniach. Przesyłając zmodyfikowany ładunek zawierający niestandardową logikę szablonu Go w spec.template.data, osoba atakująca z dostępem do sieci wewnętrznej może wykorzystać moduł obsługi jako wyrocznię deszyfrującą w celu odzyskania pełnego tekstu jawnego dowolnego zapieczętowanego sekretu.



Procedury obsługi POST /v1/verify i /v1/rotate wywołują Unseal() w celu odszyfrowania docelowych sekretów, a następnie renderują dowolne szablony Go znalezione w spec.template.data.*, używając odszyfrowanego ładunku jako kontekstu oceny (pkg/apis/sealedsecrets/v1alpha1/sealedsecret_expansion.go). Błędy napotkane podczas wykonywania szablonu są bezpośrednio odzwierciedlane w wynikowych kodach stanu odpowiedzi HTTP.



Brak powiązania etykiety AEAD: pole spec.template.data zostało pominięte w zaszyfrowanym tekście wiążącym etykietę danych uwierzytelnionych AEAD z metadanymi. W rezultacie osoba atakująca może dosłownie skopiować prawidłowe metadane i zaszyfrowane dane celu, spełniając wymogi deszyfrowania AEAD i sprawdzania poprawności etykiet, jednocześnie swobodnie zastępując spec.template.data dowolną logiką szablonu.



Oracle bocznego kanału: błędy wykonania szablonu są mapowane bezpośrednio na kody odpowiedzi HTTP. HTTP 200 (OK) wskazuje, że wykonanie szablonu powiodło się; HTTP 409 (konflikt) wskazuje, że wykonanie szablonu nie powiodło się (np. przez {{ Fail "..." }}).



Wstrzykując instrukcje warunkowe, takie jak {{ if eq (substr 0 1 .password) "S" }}ok{{ else }}{{ Fail "x" }}{{ end }}, osoba atakująca otrzymuje status HTTP 200, gdy odgadnięcie znaku jest prawidłowe, oraz HTTP 409, gdy jest on nieprawidłowy. Ta odpowiedź różnicowa powoduje wyciek jednego bitu równości znaków na żądanie, umożliwiając pełne wyodrębnienie sekretu w kolejnych zapytaniach.



Wektor ataku i wymagania wstępne: nieuwierzytelniony; wymaga dostępu sieciowego do wewnętrznego portu serwisowego kontrolera (:8080). Chociaż ta usługa nie jest domyślnie dostępna w publicznym Internecie, jest dostępna dla dowolnego poda w klastrze Kubernetes lub za pośrednictwem połączenia z przekierowaniem portów kubectl.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org