Skip to main content

Suse EUVDEUVD-2026-48424

| CVE-2026-47723 HIGH
Improper Restriction of Rendered UI Layers or Frames (CWE-1021)
2026-06-08 https://github.com/juev/nebula-mesh GHSA-w7w5-5gcp-38rw
7.1
CVSS 4.0 · Vendor: https://github.com/juev/nebula-mesh
Share

Severity by source

Vendor (https://github.com/juev/nebula-mesh) PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
SUSE
HIGH
qualitative

Primary rating from Vendor (https://github.com/juev/nebula-mesh).

CVSS VectorVendor: https://github.com/juev/nebula-mesh

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

5
Analysis Updated
Jul 23, 2026 - 21:32 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 23, 2026 - 21:23 vuln.today
cvss_changed
CVSS changed
Jul 23, 2026 - 21:23 NVD
7.1 (HIGH)
Source Code Evidence Fetched
Jun 08, 2026 - 23:35 vuln.today
Analysis Generated
Jun 08, 2026 - 23:35 vuln.today

DescriptionCVE.org

None of the response paths in internal/web/ or internal/api/ set the standard browser-security headers. grep for Content-Security-Policy, X-Frame-Options, Strict-Transport-Security, X-Content-Type-Options, Referrer-Policy returns zero matches across the codebase.

Impact

The admin UI signs CA certificates, mints API keys (returned inline once per page), displays TOTP QR codes, and exposes operator-management forms. Missing X-Frame-Options: DENY / frame-ancestors 'none' is a real clickjacking lever against an admin browsing /ui/operators/* or /ui/cas/*. Missing X-Content-Type-Options: nosniff allows MIME confusion on any user-supplied content surface. Missing HSTS on TLS deployments leaves a downgrade window.

Affected

All released versions up to v0.3.0.

Suggested fix

A single response-header middleware mounted at the chi router root in both /ui/* and /api/* paths:

go
func securityHeadersMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
        h := rw.Header()
        h.Set("Content-Security-Policy",
            "default-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'")
        h.Set("X-Content-Type-Options", "nosniff")
        h.Set("Referrer-Policy", "same-origin")
        h.Set("X-Frame-Options", "DENY")  // belt-and-braces; CSP frame-ancestors is the modern path
        if r.TLS != nil {
            h.Set("Strict-Transport-Security", "max-age=31536000; includeSubDomains")
        }
        next.ServeHTTP(rw, r)
    })
}

The inline <script> in layout.html for CSRF wiring (added in the CSRF advisory) will need either a nonce, a hash in CSP, or external-file extraction. Easiest path: a nonce per request (crypto/rand, base64) injected into both the CSP header and the script's nonce="" attribute.

AnalysisAI

Clickjacking and browser-hardening weaknesses in juev/nebula-mesh (forgekeep/nebula-mesh) admin UI and API affect all releases up to and including v0.3.0, because no response path in internal/web/ or internal/api/ emits standard security headers. An attacker who lures an authenticated operator to a malicious page can frame the admin console and hijack high-value actions — signing CA certificates, minting API keys, and managing operators — since X-Frame-Options/CSP frame-ancestors are absent. No public exploit identified at time of analysis, and EPSS is very low (0.02%, 7th percentile), but a vendor patch (v0.3.1) is available.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected

Share

EUVD-2026-48424 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy