CVE-2026-38651 json
Netmaker does not verify JWT signatures for host tokens
published 2026-04-28 6 mo ago modified 2026-06-25 4 mo ago also GHSA-qpv2-rwc8-c993 , GO-2026-5588 , EUVD-2026-26062
- cvss
- 8.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 29%
- public exploits
- 0
- none known
Summary
Authentication Bypass vulnerability exists in Netmaker versions prior to 1.5.0. The VerifyHostToken function in logic/jwts.go fails to validate the JWT signature when verifying host tokens. An attacker can forge a JWT signed with any arbitrary key and use it to impersonate any host in the network, gaining access to sensitive information
Patch / fix
- go github.com/gravitl/netmaker 1.5.0
- netmaker netmaker 1.5.0
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 29% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- zyenra.com https://www.zyenra.com/blog/netmaker-jwt-verification-bypass referenced PoC, tagged "exploit" by a source, unverified
- zyenra.com https://www.zyenra.com/advisories/netmaker-jwt-verification-bypass/ referenced PoC, tagged "exploit" by a source, unverified
- zyenra.com https://www.zyenra.com/advisories/netmaker-jwt-verification-bypass referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N |
| CNA | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N |
| GitHub | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/gravitl/netmaker | <1.5.0 |
1.5.0 |
Classification
- Weakness
-
- CWE-347 Improper Verification of Cryptographic Signature
References
-
github.com
/gravitl/netmaker/commit/5309aa70d464ef565911369714d661a61481a79b
web, patch
-
zyenra.com
/blog/netmaker-jwt-verification-bypass
exploit, third-party-advisory
-
zyenra.com
/advisories/netmaker-jwt-verification-bypass/
exploit, third-party-advisory
-
zyenra.com
/advisories/netmaker-jwt-verification-bypass
web, exploit, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-38651
advisory
-
github.com
/gravitl/netmaker
package
-
github.com
/advisories/GHSA-qpv2-rwc8-c993
advisory
Sources
- CVE List CVE-2026-38651
- GitHub Advisory GHSA-qpv2-rwc8-c993
- NVD CVE-2026-38651
- OSV GO-2026-5588
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.