Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify operator's nebula-mesh URL
-
DeliveryHost malicious form or img on attacker page
-
ExploitLure authenticated operator to visit
-
InstallBrowser auto-attaches session cookie on cross-site POST
-
C2Server processes privileged /ui/* action without CSRF check
-
ExecuteDelete CA, mint API key, or disable operator
-
ImpactPivot 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
Primary rating from Vendor (https://github.com/juev/nebula-mesh).
CVSS VectorVendor: https://github.com/juev/nebula-mesh
Lifecycle Timeline
1DescriptionCVE.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/logoutroute, 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:
<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.PostFormValueonly readsapplication/x-www-form-urlencodedbodies. 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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
Same weakness CWE-269 – Improper Privilege Management
View allVendor 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 |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-49939
GHSA-273q-qgh5-wrj6
NVD
CVE.org
EPSS
Exploit-DB