Description
Fleet is open source device management software. In versions prior to 4.78.3, 4.77.1, 4.76.2, 4.75.2, and 4.53.3, a vulnerability in Fleet's Windows MDM enrollment flow could allow an attacker to submit forged authentication tokens that are not properly validated. Because JWT signatures were not verified, Fleet could accept attacker-controlled identity claims, enabling enrollment of unauthorized devices under arbitrary Azure AD user identities. Versions 4.78.3, 4.77.1, 4.76.2, 4.75.2, and 4.53.3 fix the issue. If an immediate upgrade is not possible, affected Fleet users should temporarily disable Windows MDM.
EPSS Score:
0%
Comprehensive Technical Analysis of EUVD-2026-3348 (CVE-2026-23518)
Fleet Windows MDM JWT Signature Verification Bypass Vulnerability
1. Vulnerability Assessment and Severity Evaluation
Vulnerability Overview
EUVD-2026-3348 (CVE-2026-23518) is a critical authentication bypass vulnerability in Fleet, an open-source device management platform. The flaw resides in the Windows Mobile Device Management (MDM) enrollment flow, where JSON Web Token (JWT) signatures are not properly validated. This allows an attacker to forge authentication tokens and enroll unauthorized devices under arbitrary Azure AD user identities, effectively bypassing identity verification mechanisms.
CVSS v4.0 Severity Analysis
The vulnerability has been assigned a Base Score of 9.3 (Critical) with the following vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- Attack Vector (AV:N): Exploitable remotely over a network.
- Attack Complexity (AC:L): Low complexity; no specialized conditions required.
- Attack Requirements (AT:N): No user interaction or prior access needed.
- Privileges Required (PR:N): No privileges required.
- User Interaction (UI:N): No user interaction required.
- Confidentiality (VC:H): High impact (unauthorized device enrollment under arbitrary identities).
- Integrity (VI:H): High impact (malicious devices can be registered in the MDM system).
- Availability (VA:H): High impact (potential for lateral movement, data exfiltration, or denial-of-service via rogue devices).
- Subsequent Confidentiality (SC:N): No additional confidentiality impact beyond initial exploitation.
- Subsequent Integrity (SI:N): No additional integrity impact beyond initial exploitation.
- Subsequent Availability (SA:N): No additional availability impact beyond initial exploitation.
Risk Classification
- Critical (9.3): Immediate remediation is required due to the high likelihood of exploitation and severe impact on enterprise security.
- Exploitability: High (remote, unauthenticated, low complexity).
- Impact: Severe (unauthorized device enrollment, potential for lateral movement, data exfiltration, and policy enforcement bypass).
2. Potential Attack Vectors and Exploitation Methods
Exploitation Mechanism
-
JWT Forgery:
- Fleet’s Windows MDM enrollment flow relies on JWTs for authentication and identity claims.
- The vulnerability stems from missing JWT signature verification, allowing attackers to craft arbitrary tokens with:
- Forged
sub(subject) claims (e.g., impersonating a legitimate Azure AD user). - Manipulated
iss(issuer) andaud(audience) claims to bypass validation. - Custom device attributes (e.g.,
device_id,os_version) to register rogue devices.
- Forged
-
Unauthorized Device Enrollment:
- An attacker submits a malicious enrollment request with a forged JWT to Fleet’s MDM endpoint (e.g.,
/api/v1/fleet/mdm/windows/enroll). - Since signature verification is skipped, Fleet accepts the token as valid and enrolls the device under the attacker-controlled identity.
- The rogue device gains full MDM policy enforcement, potentially allowing:
- Lateral movement within the corporate network.
- Data exfiltration via MDM-managed applications.
- Bypass of security controls (e.g., conditional access, MFA).
- An attacker submits a malicious enrollment request with a forged JWT to Fleet’s MDM endpoint (e.g.,
-
Post-Exploitation Scenarios:
- Privilege Escalation: If the forged identity has administrative privileges, the attacker may gain control over additional devices.
- Persistence: The rogue device remains enrolled even after initial compromise.
- Supply Chain Attacks: If Fleet is integrated with other enterprise tools (e.g., SIEM, EDR), the attacker may pivot into additional systems.
Proof-of-Concept (PoC) Exploitation
A hypothetical attack flow:
-
Reconnaissance:
- Identify the target Fleet instance (e.g., via exposed APIs or misconfigured endpoints).
- Extract valid JWT structure from legitimate enrollment requests (e.g., via MITM or leaked logs).
-
Token Crafting:
- Use a tool like
jwt_toolor custom Python scripts to generate a malicious JWT with:{ "sub": "victim@company.com", // Target Azure AD user "iss": "https://login.microsoftonline.com/...", // Spoofed issuer "aud": "fleet-server", // Valid audience "device_id": "MALICIOUS-DEVICE-123", "os_version": "Windows 11 23H2" } - Sign the token with an attacker-controlled key (or leave it unsigned, as Fleet does not verify signatures).
- Use a tool like
-
Exploitation:
- Submit the forged JWT to Fleet’s MDM enrollment endpoint:
POST /api/v1/fleet/mdm/windows/enroll HTTP/1.1 Host: fleet.company.com Authorization: Bearer <FORGED_JWT> Content-Type: application/json { "device_id": "MALICIOUS-DEVICE-123", "os_version": "Windows 11 23H2" } - If successful, Fleet enrolls the device under
victim@company.com.
- Submit the forged JWT to Fleet’s MDM enrollment endpoint:
-
Post-Exploitation:
- The attacker’s device appears in Fleet’s dashboard as a legitimate, managed device.
- The attacker may push malicious policies, exfiltrate data, or move laterally within the network.
3. Affected Systems and Software Versions
Vulnerable Versions
The following Fleet versions are affected:
| Version Range | Fixed Version |
|---|---|
< 4.53.3 | 4.53.3 |
4.75.0 – 4.75.1 | 4.75.2 |
4.76.0 – 4.76.1 | 4.76.2 |
4.77.0 – 4.77.0 | 4.77.1 |
4.78.0 – 4.78.2 | 4.78.3 |
Affected Components
- Fleet Server (all deployments handling Windows MDM enrollment).
- Azure AD Integration (if used for identity verification).
- MDM Policy Enforcement (rogue devices may bypass security controls).
Unaffected Systems
- Fleet versions ≥ 4.53.3, 4.75.2, 4.76.2, 4.77.1, 4.78.3.
- Non-Windows MDM enrollments (e.g., macOS, Linux).
- Fleet instances with Windows MDM disabled.
4. Recommended Mitigation Strategies
Immediate Actions
-
Upgrade Fleet:
- Apply the latest patched versions:
4.53.3(for older deployments).4.75.2,4.76.2,4.77.1, or4.78.3(for newer deployments).
- Patch priority: Critical (exploitable in the wild).
- Apply the latest patched versions:
-
Temporary Workarounds (if immediate upgrade is not possible):
- Disable Windows MDM enrollment in Fleet’s configuration:
# fleet.yml mdm: windows_enabled: false - Restrict MDM enrollment to trusted networks (e.g., via firewall rules).
- Enable additional logging for MDM enrollment requests and monitor for anomalies.
- Disable Windows MDM enrollment in Fleet’s configuration:
-
Network-Level Protections:
- Isolate Fleet servers from untrusted networks.
- Implement WAF rules to block malformed JWTs (e.g., unsigned tokens, mismatched
iss/audclaims). - Rate-limit MDM enrollment endpoints to prevent brute-force attacks.
Long-Term Remediation
-
JWT Security Hardening:
- Enforce strict JWT validation (signature, issuer, audience, expiration).
- Use short-lived tokens (e.g., 5-minute expiry) for MDM enrollment.
- Implement token binding (e.g., tying JWTs to device certificates).
-
Azure AD Integration Security:
- Enforce Conditional Access policies for MDM enrollment (e.g., require MFA, compliant devices).
- Monitor Azure AD audit logs for suspicious enrollment attempts.
-
Fleet Configuration Best Practices:
- Enable mutual TLS (mTLS) for MDM enrollment.
- Restrict enrollment to pre-approved device IDs (if possible).
- Regularly audit enrolled devices for anomalies.
-
Incident Response Preparedness:
- Develop a playbook for detecting and responding to rogue device enrollments.
- Integrate Fleet logs with SIEM (e.g., Splunk, ELK) for real-time monitoring.
- Conduct red team exercises to test MDM security controls.
5. Impact on the European Cybersecurity Landscape
Enterprise Risk Exposure
- Critical Infrastructure: Fleet is used in healthcare, finance, and government sectors across the EU. A successful exploit could lead to data breaches, regulatory fines (GDPR), and operational disruptions.
- Supply Chain Attacks: If Fleet is integrated with third-party MDM or EDR solutions, the vulnerability could enable supply chain compromises (e.g., via SolarWinds-style attacks).
- Remote Work Risks: With hybrid work models, MDM vulnerabilities increase the attack surface for remote device compromise.
Regulatory and Compliance Implications
- GDPR (General Data Protection Regulation):
- Unauthorized device enrollment may lead to unlawful data access, triggering Article 33 (Data Breach Notification) and Article 35 (Data Protection Impact Assessment).
- Fines of up to €20 million or 4% of global revenue (whichever is higher) may apply.
- NIS2 Directive (Network and Information Security):
- Critical infrastructure operators (e.g., energy, transport) must report significant incidents within 24 hours.
- Failure to patch may result in regulatory sanctions.
- DORA (Digital Operational Resilience Act):
- Financial institutions must ensure ICT security, including MDM systems. Non-compliance may lead to supervisory actions.
Threat Actor Interest
- APT Groups: State-sponsored actors (e.g., APT29, APT41) may exploit this for espionage or sabotage.
- Cybercriminals: Ransomware groups (e.g., LockBit, BlackCat) could use this for initial access before deploying malware.
- Insider Threats: Malicious insiders may enroll rogue devices to exfiltrate data.
EU-Specific Mitigation Recommendations
- ENISA Guidelines: Follow ENISA’s MDM security best practices (e.g., MDM Security Guide).
- CERT-EU Alerts: Monitor CERT-EU advisories for active exploitation campaigns.
- National CSIRTs: Engage with national cybersecurity agencies (e.g., ANSSI (France), BSI (Germany), NCSC (UK)) for tailored guidance.
6. Technical Details for Security Professionals
Root Cause Analysis
- Code Vulnerability:
- The flaw exists in Fleet’s
mdm/windows/enroll.go(or equivalent) where JWT validation is either missing or improperly implemented. - Example vulnerable code snippet (hypothetical):
func validateEnrollmentToken(tokenString string) (*jwt.Token, error) { token, _, err := new(jwt.Parser).ParseUnverified(tokenString, &jwt.MapClaims{}) if err != nil { return nil, err } return token, nil // ❌ No signature verification! } - Fix: The patch (e.g., GitHub commit
e225ef5) enforcesParseWithClaimswith a valid key:token, err := jwt.ParseWithClaims(tokenString, &jwt.MapClaims{}, func(token *jwt.Token) (interface{}, error) { if _, ok := token.Method.(*jwt.SigningMethodRSA); !ok { return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"]) } return publicKey, nil // ✅ Proper signature verification })
- The flaw exists in Fleet’s
Exploitation Indicators (IOCs)
| Indicator | Description |
|---|---|
| JWT without signature | Tokens with alg: "none" or missing signature field. |
Mismatched iss/aud | JWTs with iss: "attacker.com" or aud: "malicious-server". |
| Unusual device IDs | Devices with IDs like HACKED-DEVICE, PWNED-123. |
| Spike in enrollment reqs | Sudden increase in MDM enrollment attempts from unknown IPs. |
| Azure AD anomalies | Unexpected device registrations in Azure AD audit logs. |
Detection and Hunting
-
SIEM Queries:
- Splunk:
index=fleet sourcetype=fleet:mdm | search "enrollment" AND (jwt_alg="none" OR jwt_signature="") - Elasticsearch:
{ "query": { "bool": { "must": [ { "match": { "event.action": "mdm_enrollment" } }, { "wildcard": { "jwt.header.alg": "none*" } } ] } } }
- Splunk:
-
Network Traffic Analysis:
- Wireshark Filter:
http.request.uri contains "/mdm/windows/enroll" and http.authorization contains "Bearer" - Look for unsigned JWTs or mismatched claims.
- Wireshark Filter:
-
Endpoint Detection:
- EDR/XDR Rules:
- Alert on unexpected
fleet.exeorfleetdprocesses making MDM enrollment requests. - Monitor for new device registrations from untrusted networks.
- Alert on unexpected
- EDR/XDR Rules:
Forensic Analysis
- Log Sources:
- Fleet server logs (
/var/log/fleet/). - Azure AD audit logs (
Sign-ins,Device registrations). - Network traffic captures (PCAPs).
- Fleet server logs (
- Key Artifacts:
- Forged JWTs (check
Authorization: Bearerheaders). - Device enrollment records (compare with legitimate devices).
- Azure AD device objects (look for anomalies in
deviceTrustType).
- Forged JWTs (check
Conclusion
EUVD-2026-3348 (CVE-2026-23518) is a critical authentication bypass vulnerability in Fleet’s Windows MDM enrollment flow, enabling unauthorized device enrollment under arbitrary Azure AD identities. Given its CVSS 9.3 score, remote exploitability, and severe impact, organizations must prioritize patching and implement compensating controls if immediate upgrades are not feasible.
Key Takeaways for Security Teams
✅ Patch immediately (versions 4.53.3, 4.75.2, 4.76.2, 4.77.1, 4.78.3).
✅ Disable Windows MDM if patching is delayed.
✅ Monitor for JWT forgery attempts (unsigned tokens, mismatched claims).
✅ Enforce Conditional Access in Azure AD for MDM enrollments.
✅ Conduct a forensic review of enrolled devices post-patch.
Failure to remediate this vulnerability could lead to data breaches, regulatory penalties, and operational disruptions, particularly in EU-regulated sectors. Security teams should treat this as a high-priority incident and coordinate with national CSIRTs if exploitation is suspected.