CVE-2026-48025
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W nebula-mesh przed wersją 0.3.7 odszyfrowane klucze prywatne CA pozostają w stercie procesu po użyciu, ponieważ nie są zerowane przed zwolnieniem pamięci. Narusza to kontrakt pakietu keystore i może prowadzić do wycieku kluczy. Problem został naprawiony w wersji 0.3.7.
Ocena ryzyka
Atakujący z dostępem do pamięci procesu (np. przez zrzut pamięci lub debugger) może odzyskać klucze prywatne CA, co umożliwi podszywanie się pod urząd certyfikacji i przechwytywanie ruchu VPN.
Rekomendacja
Zaktualizuj nebula-mesh do wersji 0.3.7 lub nowszej.
Inne podatności w nebula-mesh
Zobacz wszystkie- CVE-2026-47724Krytyczne
Podatność w nebula-mesh umożliwia eskalację uprawnień poprzez brak odpowiedniej kontroli dostępu na wielu endpointach API. Każdy operator z kluczem API może uzyskać dostęp do zasobów innych operatorów.
- CVE-2026-49258Wysokie
Nebula Mesh w wersjach 0.3.5 i niższych nie stosuje ograniczeń CA dla operatorów w interfejsie web UI, co pozwala uwierzytelnionemu operatorowi niebędącemu administratorem na dostęp do zasobów innych operatorów. Luka została częściowo zaadresowana w GHSA-598g-h2vc-h5vg, ale nie objęła interfejsu web.
- CVE-2026-48058Średnie
nebula-mesh przed wersją 0.3.2 ustawia flagi HttpOnly i SameSite=Lax na ciasteczkach, ale nigdy nie ustawia flagi Secure. Pojedyncze żądanie w czystym tekście do origin (np. operator w LAN, błędnie wpisany URL, brak ścisłego wymuszania HTTP→HTTPS, błędna konfiguracja reverse proxy) ujawnia sesję.
- CVE-2026-47768Średnie
W nebula-mesh przed wersją 0.3.2 nowo wygenerowany klucz API operatora był ujawniany w adresie URL przekierowania, co mogło prowadzić do wycieku w nagłówku Referer, historii przeglądarki lub logach proxy. Problem został naprawiony w wersji 0.3.2.
- CVE-2026-47726Wysokie
nebula-mesh w wersjach przed 0.3.2 nie sprawdza uprawnień administratora dla endpointu dziennika audytu. Każdy operator z kluczem API może odczytać pełny dziennik audytu, w tym dane innych dzierżawców.
- CVE-2026-47725Średnie
W nebula-mesh przed wersją 0.3.3 wszystkie trasy /ui/* z metodami POST/PUT/PATCH/DELETE przetwarzają żądanie natychmiast po walidacji ciasteczka sesyjnego. Ustawienie SameSite=Lax nie chroni przed atakami z domen trzecich (np. nawigacje najwyższego poziomu, ataki z poddomen) ani przed atakami na trasę GET /ui/logout. Problem został naprawiony w wersji 0.3.3.
- CVE-2026-47723Wysokie
W projekcie nebula-mesh przed wersją 0.3.1 brakuje standardowych nagłówków bezpieczeństwa przeglądarki (Content-Security-Policy, X-Frame-Options, Strict-Transport-Security, X-Content-Type-Options, Referrer-Policy) w ścieżkach odpowiedzi internal/web/ i internal/api/. Problem naprawiono w wersji 0.3.1.
- CVE-2026-47722Wysokie
W nebula-mesh przed wersją 0.3.2, w pliku internal/configgen/generator.go, pola ListenHost i TunDevice są interpolowane bez walidacji do szablonu text/template, co może prowadzić do wstrzykiwania kodu. internal/web/advanced.go akceptuje te pola tylko z usunięciem białych znaków, bez walidacji znaków lub kształtu.
Oryginalny opis (angielski, źródło NVD)
nebula-mesh is a self-hosted control plane for Slack Nebula mesh virtual private network. Prior to version 0.3.7, internal/pki/resolver.go:36-64 constructs a CAManager with the plaintext ed25519.PrivateKey after unwrapping via the master key; internal/pki/ca.go:13-16 stores it. Callers at internal/api/enroll.go:116, internal/api/updates.go:297, and internal/api/mobile_bundle.go:40 use the manager for one Sign() and drop the reference on function return — but the underlying slice contents are not wiped before release. The keystore package's contract (internal/keystore/keystore.go doc: "Callers MUST zeroise the returned plaintext DEK as soon as it is no longer needed") is not met by the CAManager consumer. Decrypted CA private keys persist in process heap until Go's GC scavenges the underlying slice — minutes to hours under load, indefinitely on idle servers. This issue has been patched in version 0.3.7.

