Skip to main content

nebula-mesh CVE-2026-47725

| EUVDEUVD-2026-49939 MEDIUM
Improper Privilege Management (CWE-269)
2026-06-08 https://github.com/juev/nebula-mesh GHSA-273q-qgh5-wrj6
6.9
CVSS 4.0 · Vendor: https://github.com/juev/nebula-mesh
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Identify operator's nebula-mesh URL
  2. Delivery
    Host malicious form or img on attacker page
  3. Exploit
    Lure authenticated operator to visit
  4. Install
    Browser auto-attaches session cookie on cross-site POST
  5. C2
    Server processes privileged /ui/* action without CSRF check
  6. Execute
    Delete CA, mint API key, or disable operator
  7. Impact
    Pivot to mesh-wide compromise via forged certificates

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires (1) a target operator with an active authenticated session to the nebula-mesh admin UI in their browser, (2) that operator visiting attacker-controlled HTML in any tab - a click is needed for the <form> POST variants but the <img>-based /ui/logout attack requires no interaction at all, and (3) network reachability from the operator's browser to the nebula-mesh /ui/* endpoint (so internet-exposed or intranet-reachable management UIs are in scope, fully air-gapped ones are not). The reproducer relies on application/x-www-form-urlencoded bodies because r.PostFormValue does not parse multipart or JSON; the current UI surface has no JSON/multipart mutating endpoints, so this is not a limit in practice. Limiting factors: the attacker must know or guess the target's nebula-mesh URL and (for CA-specific actions) the relevant CA ID, and SameSite=Lax does block subresource and iframe-based POSTs in compliant browsers - but it explicitly does not block top-level navigations, sibling-subdomain attackers, or GET-based actions like the vulnerable /ui/logout route.

Impact

No CVSS vector or EPSS score is provided, and the issue is not in CISA KEV, so traditional prioritization signals are absent. Mapping to a notional CVSS, this looks like AV:N / AC:L / PR:N / UI:R / S:C / C:H/I:H/A:H - network-reachable, low complexity, requires an authenticated operator to load attacker content, but the post-conditions (CA deletion, key minting, operator disablement) are catastrophic for a PKI/mesh management plane. The CWE-269 mapping understates the issue; the root cause is CWE-352 (CSRF) and the consequence is privilege escalation. Real-world risk is high for any deployment where operators browse the web on the same workstation they use for admin sessions, and elevated further if the management UI shares a registrable domain with other web properties (the patch explicitly notes sibling-subdomain attackers can still forge requests via parent-domain cookies). One caveat: the user-interaction requirement and the limited install base of nebula-mesh likely keep mass exploitation probability low, so this is a targeted-threat issue rather than a wormable one.

Exploit ScenarioDerived

An attacker hosts a page containing a hidden <form action="https://nebula.example.com/ui/cas/{ca-id}/delete" method="POST"> (or an <img src="https://nebula.example.com/ui/logout"> for force-logout) and lures a logged-in nebula-mesh operator to visit it via phishing, a watering-hole on an operator-frequented site, or XSS on a sibling subdomain. Because the session cookie is auto-attached on the top-level POST and no CSRF token is required, the server deletes the CA, mints an attacker-chosen API key, or disables a peer operator - all without further interaction. A working reproducer is published in the GHSA advisory itself, so weaponization cost is effectively zero.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 08, 2026

Cross-site request forgery in nebula-mesh's admin web UI (versions <= 0.3.2) lets a remote attacker trigger privileged operator actions - CA signing, API key minting, operator disablement, server-setting changes, and forced logout - when a logged-in operator visits an attacker-controlled page. SameSite=Lax on the session cookie does not block top-level cross-site form POSTs, sibling-subdomain attackers, or the GET /ui/logout route, so the impact is privilege escalation rather than nuisance. No public exploit identified at time of analysis beyond the working reproducer in the advisory itself.

RemediationAI

Vendor-released patch: upgrade github.com/juev/nebula-mesh to v0.3.3 or later, which introduces a double-submit CSRF cookie validated on every /ui/* mutating route and converts /ui/logout from GET to POST so it can no longer be force-triggered via <img> tags; see https://github.com/juev/nebula-mesh/security/advisories/GHSA-273q-qgh5-wrj6 for full details. If immediate upgrade is not possible, the most effective compensating controls are to deploy nebula-mesh on a dedicated registrable domain (not a shared parent domain, since the patch itself warns SameSite=Lax cannot defeat sibling-subdomain forgery), restrict the /ui/* surface to a management VLAN or VPN so operator browsers cannot reach it from general-purpose web sessions, and instruct operators to use a separate browser profile or container exclusively for admin work - the trade-off being operational friction and the loss of convenience features like single-sign-on across tabs. Adding a reverse-proxy rule that rejects /ui/* requests whose Origin or Referer header does not match the management host is another stopgap, but it will break legitimate htmx flows if the proxy is misconfigured and offers no protection against same-site attackers.

Affected VersionsENISA

nebula-mesh < 0.3.3

Affected Packages

go github.com/juev/nebula-mesh fix: 0.3.3
euvd nebula_mesh fix: 0.3.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

nebula-mesh is a Go-based management plane for the Nebula overlay mesh network, exposing an htmx-driven /ui/* admin surface for CA lifecycle, API key issuance, operator management, and server configuration. The vulnerability is a classic CWE-352-style omission misclassified here as CWE-269 (Improper Privilege Management): every state-changing /ui/* route authenticates the request solely via the session cookie, with no token, custom header, or origin/referer check. The application relies on r.PostFormValue, which only parses application/x-www-form-urlencoded bodies, so a simple cross-site HTML <form> submit is sufficient - and because /ui/logout is wired as GET, even an <img> tag from a third-party page triggers it. The fix introduces a double-submit cookie pattern (32-byte crypto/rand token in a non-HttpOnly _csrf cookie, echoed in X-CSRF-Token or a _csrf form field, constant-time compared, rotated on every privilege transition).

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/juev/nebula-mesh) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE HIGH

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

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

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Jul 28, 2026 - 19:22 NVD
6.9 (MEDIUM)

DescriptionCVE.org

Every /ui/* POST / PUT / PATCH / DELETE route processes the request as soon as the session cookie validates. SameSite=Lax on the session cookie prevents most cross-site form submits but does not protect:

  • top-level form-submit navigations from third-party pages (some browsers still send Lax cookies on top-level POSTs)
  • same-registrable-domain attackers (sibling-subdomain XSS, subdomain takeover)
  • the GET /ui/logout route, which a third-party <img src=".../ui/logout"> can force-trigger

The admin UI signs CA certificates, mints API keys, rotates / retires / deletes CAs, disables operators, and changes server settings. CSRF here is a real privilege escalation, not just annoyance.

Affected

All released versions up to v0.3.2.

Suggested fix

Double-submit cookie: a 32-byte crypto/rand token in a non-HttpOnly _csrf cookie, echoed in either X-CSRF-Token (htmx) or a _csrf form field (HTML forms). Compared in constant time. Rotated on every privilege transition (Login, OIDC StartAuthenticatedSession, CompleteTwoFactor, Logout) so pre-auth fixation cannot survive promotion. Rejections audit-logged as ui.csrf.rejected with reason; response body stays opaque.

/ui/logout becomes POST so it is no longer reachable via <img> tags.

Fix coordinates with the Secure-cookie advisory disclosed concurrently - the _csrf cookie inherits the same Secure-attribute derivation.

Reproducer

With an authenticated operator session in browser tab A, open the following minimal HTML in any other tab:

html
<form action="https://nebula.example.com/ui/cas/{ca-id}/delete" method="POST">
  <button>Click for free puppy</button>
</form>

Click. The CA is deleted - the server processes the POST because the session cookie is automatically attached and there is no other check. The same trick works for force-rotate, retire, mint API keys, disable operators, etc.

Alternative force-logout: <img src="https://nebula.example.com/ui/logout"> placed on an attacker's page logs out any visiting authenticated operator. No interaction required.

Notes

  • Multipart and JSON endpoints don't exist in the current UI surface. Future additions must rely on the header path because r.PostFormValue only reads application/x-www-form-urlencoded bodies. The middleware's package comment documents this.
  • The patch assumes nebula-mgmt is the sole authority on its registrable domain. A compromised sibling subdomain can still set parent-domain cookies and forge matches; SameSite=Lax does not prevent that. Documented in the patch.

Executive ViewAI

Why It Matters

nebula-mesh administrative interface (versions 0.3.2 and earlier) contains a CSRF vulnerability that allows attackers to trick authenticated operators into performing critical infrastructure actions-including certificate authority signing, API credential generation, and server configuration changes. This directly threatens the integrity of your mesh security posture and operator access controls. Organizations using nebula-mesh require immediate mitigation to prevent unauthorized infrastructure modifications and credential creation.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: Restrict admin UI access to corporate networks only (VPN + firewall rules); deploy reverse proxy enforcing additional CSRF tokens on state-changing requests; mandate separate browser profiles for admin work isolated from general web browsing; implement real-time alerting on CA signing, API key generation, and operator disablement actions; disable least-critical administrative functions (if supported) until patch available; require multi-operator approval for sensitive operations via secondary control channel.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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

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