← Back to search

CVE-2026-114611

9.1 CRITICALpublic exploit available

Published 2026-10-22 · Updated 2026-10-23

AI risk analysis

Summary
The Apple MDM enrollment endpoint in OCO-Server before 1.2.3 uses `PKCS7_NOVERIFY` during signature verification, bypassing certificate chain and trust validation; this allows an attacker with knowledge of a victim device's serial number to forge a signed enrollment request using a self-signed certificate, obtain the victim's MDM identity certificate and private key, and hijack the device's record in the database.
Exploitability
Exploitation requires only knowledge of a registered device's serial number and the ability to craft and submit a forged PKCS#7-signed enrollment request; no authentication or privileged access is needed.
Blast radius
An attacker who exploits this can fully impersonate any targeted MDM-enrolled device, enabling persistent remote management, data exfiltration via MDM channels, and potential lateral movement if the device has network or credential access to other systems.
Detection
Defenders should monitor for unexpected `.mobileconfig` enrollment responses containing PKCS#12 payloads with non-standard or mismatched serial numbers, especially when accompanied by a sudden change in the `UDID` field of an existing `mobile_device` database record.
Prioritized remediation
Upgrade to OCO-Server version 1.2.3 or later, which removes `PKCS7_NOVERIFY` and enforces full certificate chain validation for enrollment requests.
mdmcertificate-validation-bypassauthentication-bypassdevice-hijackpkcs7

Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.

NVD description

OCO-Server is a self-hosted endpoint management application for computer inventory, software deployment, and mobile device management. Prior to 1.2.3,the Apple MDM enrollment endpoint `frontend/api-mdm.php` verifies the signed enrollment-request plist with `openssl_pkcs7_verify(..., PKCS7_NOVERIFY, ...)`. `PKCS7_NOVERIFY` disables signer certificate chain and trust validation, so the signature only has to be self-consistent with whatever certificate is embedded in the PKCS#7 blob. A self-signed certificate from an unrelated attacker is accepted. Because the endpoint trusts the `SERIAL` field taken from the unverified payload, anyone who knows a registered device's serial number can sign a forged plist (`SERIAL` = victim device, attacker-chosen `UDID`) with an arbitrary self-signed certificate; POST it unauthenticated to `/api-mdm.php/profile` (Content-Type: `application/pkcs7-signature`); and receive the victim device's freshly minted MDM identity: a certificate with `CN=<serial>` issued by the server's internal MDM device CA, bundled with its private key in a PKCS#12 payload inside the returned `.mobileconfig` enrollment profile. Additionally, the victim's `mobile_device` database row is silently overwritten with the attacker-supplied `UDID` (device-record hijack). With the stolen certificate and key, the attacker can impersonate the victim device on all subsequent MDM traffic (`/checkin`, `/mdm`, `/parameters`), which authenticate callers by the certificate CN (the serial number) via `checkSignature()` in the same file. This yields control over the victim device's MDM relationship: reading its management data, replacing its push token, and disrupting or redirecting its enrollment. Version 1.2.3 fixes the issue.

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Weaknesses

CWE-295

Public exploit & PoC references

All references

Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.

Related CVEs

Related by shared AI tags and CWE weakness class. Browse the full archive.