← CVE Veritabanı

CVE-2026-114611

Kritik

Teknik Veri (Otomatik)

CVSS Skoru
9.1
EPSS
0.3%
CWE
CWE-295
KEV Durumu
Hayır

Yayım tarihi: 22 Ekim 2026

OCO-Server, bilgisayar envanteri, yazılım dağıtımı ve mobil cihaz yönetimi için self-hosted bir endpoint yönetim uygulamasıdır. 1.2.3 sürümünden önce, Apple MDM kayıt noktası `frontend/api-mdm.php`, imzalı kayıt isteği plist'i `openssl_pkcs7_verify(..., PKCS7_NOVERIFY, ...)` ile doğrular. `PKCS7_NOVERIFY`, imzalama sertifikası zincirini ve güvenliği doğrulamayı devre dışı bırakır, böylece imza yalnızca PKCS#7 blob'unda gömülü olan sertifika ile kendi içinde tutarlı olmalıdır. Bir saldırganın kendi kendine imzaladığı sertifikası kabul edilir. Kayıt noktası, doğrulanmamış yükten alınan `SERIAL` alanına güvenir, bu nedenle kayıtlı bir cihazın seri numarasını bilen herkes, bir dizi self-signed sertifika ile sahte bir plist'i (`SERIAL` = kurban cihazı, saldırgan tarafından seçilen `UDID`) imzalayabilir; bunu `/api-mdm.php/profile` (İçerik Türü: `application/pkcs7-signature`) adresine kimlik doğrulaması olmadan gönderebilir ve kurban cihazın taze olarak oluşturulmuş MDM kimliğini alabilir: sunucunun dahili MDM cihaz CA'sı tarafından verilen, `CN=<seri>` ile imzalanmış bir sertifika, PKCS#12 yükü içinde döndürülen `.mobileconfig` kayıt profilinin içinde bulunan özel anahtarı ile birlikte gelir. Ayrıca, kurbanın `mobile_device` veritabanı satırı, saldırgan tarafından sağlanan `UDID` (cihaz kaydı gaspı) ile sessizce üzerine yazılır. Çalınan sertifika ve anahtar ile saldırgan, kurban cihazı tüm sonraki MDM trafiğinde (`/checkin`, `/mdm`, `/parameters`) taklit edebilir, bunlar sertifika CN'sine (seri numarasına) göre `checkSignature()` fonksiyonu aracılığıyla kimlik doğrulaması yapar. Bu, kurban cihazın MDM ilişkisi üzerinde kontrol sağlar: yönetim verilerini okuma, push tokenini değiştirme ve kaydını bozmaya veya yönlendirmeye olanak tanır. Sürüm 1.2.3 bu sorunu düzeltir.

Orijinal açıklama (İngilizce)

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.

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.