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.
Published: 2026-10-22
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: MDM Identity Disclosure and Device Hijack
Action: Apply Patch
AI Analysis

Impact

The vulnerability arises from the OCO‑Server Apple MDM enrollment endpoint frontend/api‑mdm.php/profile using the OpenSSL function openssl_pkcs7_verify with the PKCS7_NOVERIFY flag. That flag disables certificate chain and trust validation, allowing a self‑signed PKCS#7 signature to be accepted as long as the signature is cryptographically self‑consistent. An attacker can therefore forge a signed plist that contains a victim device’s serial number and an attacker‑chosen UDID, submit it unauthenticated to the endpoint, and obtain the victim’s freshly minted MDM identity: a certificate issued by the server’s internal MDM device CA together with its private key in a PKCS#12 payload. The endpoint also silently overwrites the victim’s database row with the attacker‑supplied UDID, enabling device‑record hijack. With the stolen certificate and key the attacker can impersonate the device on all subsequent MDM traffic, reading management data, replacing push tokens, disrupting or redirecting enrollment, and gaining full control of the device’s MDM relationship.

Affected Systems

The affected product is the schorschii OCO‑Server, versions prior to 1.2.3. No other vendors or products are listed as impacted.

Risk and Exploitability

The CVSS score of 9.1 indicates high severity. EPSS is not available, so the exploitation probability cannot be quantified, and the vulnerability is not listed in CISA KEV. Based on the description, the likely attack vector is network‑based: an adversary with network access to the server can craft and POST a forged PKCS#7 blob to /frontend/api-mdm.php/profile. Since the endpoint does not require prior authentication, the attacker only needs knowledge of a victim's device serial number to succeed. Once the server issues the MDM identity, the attacker obtains the device’s private key, which is sufficient to hijack the device’s MDM session and perform all actions authenticated by that certificate.

Generated by OpenCVE AI on October 22, 2026 at 19:07 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update OCO-Server to version 1.2.3 or later to enable proper certificate chain verification and reject self‑signed signatures
  • Ensure that the server’s MDM enrollment endpoint decrypts and validates all PKCS#7 signatures without the PKCS7_NOVERIFY flag
  • Restrict exposure of device serial numbers and monitor for anomalous POST requests to /frontend/api-mdm.php/profile

Generated by OpenCVE AI on October 22, 2026 at 19:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
First Time appeared Schorschii
Schorschii oco-server
Vendors & Products Schorschii
Schorschii oco-server

Thu, 22 Oct 2026 17:45:00 +0000

Type Values Removed Values Added
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.
Title OCO-Server: MDM /profile endpoint accepts self-signed PKCS#7 signatures (PKCS7_NOVERIFY): device MDM identity (certificate + private key) disclosure and device-record hijack
Weaknesses CWE-295
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

Schorschii Oco-server
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-29T02:23:10.004Z

Reserved: 2026-10-21T20:34:25.599Z

Link: CVE-2026-114611

cve-icon Vulnrichment

Updated: 2026-10-29T02:23:05.446Z

cve-icon NVD

Status : Deferred

Published: 2026-10-22T18:17:28.377

Modified: 2026-10-29T04:18:24.750

Link: CVE-2026-114611

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T21:18:59Z

Weaknesses
  • CWE-295

    Improper Certificate Validation