Saltar al contenido
CVE-2026-114611 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de autenticación incorrecta en OCO-Server: el endpoint MDM /profile acepta firmas PKCS#7 autofirmadas (PKCS7_NOVERIFY), lo que permite la divulgación de la identidad MDM del dispositivo (certificado y clave privada) y el secuestro del registro del dispositivo

schorschii · OCO-Server · Publicada en CVE.org el 22-10-2026 · Última actualización: 09-11-2026

Descripción

OCO-Server es una aplicación autoalojada de gestión de endpoints para inventario de equipos, despliegue de software y gestión de dispositivos móviles. En versiones anteriores a la 1.2.3, el endpoint de inscripción MDM de Apple `frontend/api-mdm.php` verifica el plist firmado de la solicitud de inscripción con `openssl_pkcs7_verify(..., PKCS7_NOVERIFY, ...)`. `PKCS7_NOVERIFY` desactiva la validación de la cadena de certificados y de la confianza del firmante, por lo que la firma solo necesita ser coherente con el certificado que esté incrustado en el blob PKCS#7. Se acepta un certificado autofirmado de un atacante sin relación alguna. Dado que el endpoint confía en el campo `SERIAL` tomado de la carga útil no verificada, cualquier persona que conozca el número de serie de un dispositivo registrado puede firmar un plist falsificado (`SERIAL` = dispositivo de la víctima, `UDID` elegido por el atacante) con un certificado autofirmado arbitrario; enviarlo mediante POST sin autenticación a `/api-mdm.php/profile` (Content-Type: `application/pkcs7-signature`); y recibir la identidad MDM recién generada del dispositivo de la víctima: un certificado con `CN=<serial>` emitido por la CA interna de dispositivos MDM del servidor, empaquetado junto con su clave privada en una carga útil PKCS#12 dentro del perfil de inscripción `.mobileconfig` devuelto. Además, la fila de la base de datos `mobile_device` de la víctima se sobrescribe silenciosamente con el `UDID` proporcionado por el atacante (secuestro del registro del dispositivo). Con el certificado y la clave robados, el atacante puede suplantar al dispositivo de la víctima en todo el tráfico MDM posterior (`/checkin`, `/mdm`, `/parameters`), que autentica a quienes realizan las llamadas mediante el CN del certificado (el número de serie) a través de `checkSignature()` en el mismo archivo. Esto otorga control sobre la relación MDM del dispositivo de la víctima: leer sus datos de gestión, reemplazar su token push e interrumpir o redirigir su inscripción. La versión 1.2.3 corrige el problema.

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • OCO-Server Afectadas: < 1.2.3

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

OCO-Server: MDM /profile endpoint accepts self-signed PKCS#7 signatures (PKCS7_NOVERIFY): device MDM identity (certificate + private key) disclosure and device-record hijack

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.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia