A locked door that crumbles once someone is already inside the house
CVE-2026-39868 is a kernel memory corruption flaw in Apple's LaunchServices framework. A malicious application running on the device can trigger improper input validation that crashes the kernel or corrupts kernel memory — potentially enabling privilege escalation or persistent denial of service. The bug affects a wide swath of Apple platforms: iOS/iPadOS < 26.5.2, macOS Tahoe < 26.5.2, macOS Sequoia < 15.7.8, macOS Sonoma < 14.8.8, tvOS < 26.6, visionOS < 26.6, and watchOS < 26.6. It was credited to elite researchers from STAR Labs, Positive Technologies, and Baidu Security — a roster that strongly signals a weaponizable, Pwn2Own-grade primitive rather than a theoretical crash.
The CISA-ADP assigned CVSS of 9.1 (CRITICAL) with AV:N/AC:L/PR:N/UI:N is misleading. Apple's own description says *"an app may be able to cause unexpected system termination or corrupt kernel memory"* — that is a local exploitation scenario requiring code execution on the target device. The Network attack vector is flatly wrong for a bug that requires a malicious app to be installed and running. A corrected vector closer to AV:L/AC:L/PR:L/UI:R drops the base score into the 6–7 range. The severity is real — kernel corruption is always serious — but the delivery friction and local-only attack surface mean CRITICAL overstates the operational risk for a fleet of managed Apple endpoints.
4 steps from start to impact.
Deliver malicious app to target device
- Ability to deliver executable code to the target device
- User interaction to install/launch (or a prior RCE chain)
- iOS App Store review and sandboxing block most malicious payloads
- macOS Gatekeeper + Notarization quarantine unsigned/un-notarized binaries
- Enterprise MDM policies restrict app installation sources
- Mail gateway / web proxy scanning catches known malicious attachments
Execute malicious app on-device
- App passes or bypasses Gatekeeper / App Store sandbox
- User grants any required TCC permissions
- macOS Sequoia+ tightened Gatekeeper to require drag-to-Applications for unsigned apps
- iOS sandbox severely restricts inter-process and kernel-adjacent calls
- EDR agents on managed Macs will flag suspicious process trees
Trigger LaunchServices input validation flaw
- Malicious app must be executing
- LaunchServices must be reachable from the app's sandbox context
- No public PoC exists as of August 2026
- Exact trigger conditions are researcher-held; weaponization requires independent rediscovery or binary diffing the patch
/Library/Logs/DiagnosticReports, crash telemetry via Apple Business ManagerCorrupt kernel memory or crash system
- Step 3 succeeds
- Kernel memory layout is predictable enough for reliable corruption (vs. random crash)
- Apple Silicon PAC (Pointer Authentication Codes) makes controlled kernel exploitation harder
- PPL (Page Protection Layer) and KTRR limit what kernel pages can be modified
- KASLR adds layout randomization overhead to reliable exploitation
The supporting signals.
| In-the-Wild Exploitation | No confirmed exploitation. Not listed on CISA KEV. No campaigns or threat actor usage reported as of 2026-08-07. |
|---|---|
| Proof of Concept | No public PoC available. Credited to Ye Zhang (@VAR10CK) of Baidu Security, Vladislav Shevchenko (Positive Technologies), Billy Jheng Bing Jhong & Pan Zhenpeng (@Peterpan0927) of STAR Labs SG — all known for Pwn2Own-grade kernel work. PoC is likely privately held. |
| EPSS Score | 0.00936 (~94th percentile). Indicates low but non-trivial predicted exploitation probability within 30 days. |
| KEV Status | Not listed on CISA Known Exploited Vulnerabilities catalog as of 2026-08-07. |
| CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H (CISA-ADP). noisgate assessment: AV:N is incorrect — Apple's own advisory describes a local app exploitation scenario. A corrected vector would be closer to AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H (~6.3). |
| Affected Versions | iOS/iPadOS < 26.5.2, macOS Tahoe < 26.5.2, macOS Sequoia < 15.7.8, macOS Sonoma < 14.8.8, tvOS < 26.6, visionOS < 26.6, watchOS < 26.6 |
| Fixed Versions | iOS/iPadOS 26.5.2, macOS Tahoe 26.5.2, macOS Sequoia 15.7.8, macOS Sonoma 14.8.8, tvOS 26.6, visionOS 26.6, watchOS 26.6 |
| Scanning / Exposure | Not applicable — this is a local exploitation vuln on endpoints, not a network-exposed service. No Shodan/GreyNoise/Censys signatures relevant. |
| Disclosure Date | 2026-06-29 (Apple security update release) |
| Reporting Researchers | Ye Zhang (@VAR10CK) / Baidu Security, Vladislav Shevchenko / Positive Technologies, Billy Jheng Bing Jhong & Pan Zhenpeng (@Peterpan0927) / STAR Labs SG Pte. Ltd. |
noisgate verdict.
The single most decisive factor driving this downgrade from CRITICAL to HIGH is the misattributed attack vector: Apple's own advisory describes local app execution (AV:L), not unauthenticated network exploitation (AV:N) as CISA-ADP scored it — collapsing the reachable population from every-network-host to only devices where the attacker has already achieved code delivery. The kernel memory corruption outcome on Apple endpoints is serious enough to hold the floor at HIGH, but the delivery friction and absence of a public PoC or ITW exploitation prevent CRITICAL.
Why this verdict
- CVSS vector is wrong at the source. CISA-ADP scored
AV:Nbut Apple's description explicitly says *"an app may be able to"* — that is local code execution, not network-reachable. Correcting toAV:L/PR:L/UI:Ralone drops the base from 9.1 to ~6.3, a full severity tier. - Delivery friction is substantial. Getting a malicious app onto a managed Apple device requires bypassing Gatekeeper + Notarization (macOS) or App Store review + sandbox (iOS). Enterprise MDM profiles further restrict installation sources. This is not a fire-and-forget network exploit.
- No public PoC and no ITW exploitation. Despite disclosure 5+ weeks ago, no proof-of-concept code has surfaced publicly, and the bug is not KEV-listed. The elite researcher credits (STAR Labs, Positive Technologies, Baidu) suggest the primitive is real but privately held.
- Kernel corruption is genuinely dangerous when achieved. A kernel write primitive on macOS could bypass SIP, TCC, and all userland sandboxing. This prevents a downgrade below HIGH despite the delivery friction.
- Role multiplier: Apple endpoints occupy roles (a) workstations / developer machines and (b) mobile devices for executives and knowledge workers. They are NOT typically identity infrastructure, hypervisors, or supply-chain servers. However, macOS developer workstations with CI/CD access or signing certificates represent a *moderate* high-value role (~5–10% of enterprise Mac fleet). A kernel compromise on a developer Mac with Xcode + signing identity could enable supply-chain pivoting. This keeps the floor at HIGH but does not elevate to CRITICAL because the chain requires prior local code execution AND the high-value role is a minority of the installed base.
Why not higher?
CRITICAL would require either confirmed ITW exploitation, a true network-reachable attack vector, or the affected component being canonically infrastructure (hypervisor, IdP, DC). None apply here. The bug requires local app execution, has no public PoC, is not KEV-listed, and Apple endpoints are overwhelmingly workstation-role devices. The delivery prerequisites impose real friction that compounds against mass exploitation.
Why not lower?
MEDIUM would understate the risk of kernel memory corruption reported by three top-tier offensive research teams. If weaponized, the primitive bypasses every userland security boundary on Apple platforms (SIP, TCC, sandbox). The broad affected surface (iOS + macOS + tvOS + watchOS + visionOS) and the caliber of the researchers who independently found it signal this is not a theoretical crash — it is a serious kernel primitive behind a delivery gate.
What to do — in priority order.
- Enforce MDM app installation restrictions — Configure your MDM (Jamf Pro, Kandji, Mosyle, Intune) to block sideloaded apps and restrict installation sources to the App Store and your internal catalog. This eliminates the primary delivery vector. Deploy within 30 days per the noisgate mitigation SLA for HIGH.
- Ensure Gatekeeper and XProtect are enforced fleet-wide — Verify via MDM compliance policy that Gatekeeper is set to 'App Store and identified developers' (minimum) and XProtect definitions are current.
spctl --statusshould returnassessments enabledon every Mac. This blocks unsigned/un-notarized payloads. - Push OS updates via MDM enforced deadline — Use MDM-enforced software update policies to push macOS 15.7.8 / 14.8.8 / Tahoe 26.5.2 and iOS/iPadOS 26.5.2 with a 30-day compliance deadline. Devices not updated by deadline should be quarantined from corporate resources via conditional access.
- Monitor for kernel panic anomalies — Set up alerting on kernel panic frequency per device via Apple Business Manager telemetry or endpoint agent crash reporting. A spike in kernel panics on a specific device could indicate exploitation attempts.
- Network-level controls (firewall, IDS/IPS, WAF) — despite the CVSS
AV:Nlabel, this is a local exploitation bug. Network filtering cannot intercept the malicious app-to-kernel interaction. - Patching Safari or WebKit alone — the vulnerability is in LaunchServices, not the browser. A Safari update does not remediate this CVE.
- Disabling LaunchServices — it is a core OS framework required for app launching on all Apple platforms. It cannot be disabled or restricted without breaking the OS.
Crowdsourced verification payload.
Run this script on each macOS target host (or push via MDM script payload). No special privileges required — it reads sw_vers output. Example: bash check_cve_2026_39868.sh
#!/bin/bash
# check_cve_2026_39868.sh
# Checks whether macOS is patched for CVE-2026-39868 (LaunchServices kernel memory corruption)
# Outputs: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
PRODUCT=$(sw_vers -productName 2>/dev/null)
VERSION=$(sw_vers -productVersion 2>/dev/null)
if [ -z "$VERSION" ]; then
echo "UNKNOWN - unable to determine macOS version"
exit 2
fi
# Compare version strings
version_gte() {
# Returns 0 if $1 >= $2
printf '%s\n%s' "$2" "$1" | sort -V -C
}
MAJOR=$(echo "$VERSION" | cut -d. -f1)
case "$MAJOR" in
26)
# macOS Tahoe - fixed in 26.5.2
if version_gte "$VERSION" "26.5.2"; then
echo "PATCHED - macOS Tahoe $VERSION >= 26.5.2"
exit 0
else
echo "VULNERABLE - macOS Tahoe $VERSION < 26.5.2 (CVE-2026-39868)"
exit 1
fi
;;
15)
# macOS Sequoia - fixed in 15.7.8
if version_gte "$VERSION" "15.7.8"; then
echo "PATCHED - macOS Sequoia $VERSION >= 15.7.8"
exit 0
else
echo "VULNERABLE - macOS Sequoia $VERSION < 15.7.8 (CVE-2026-39868)"
exit 1
fi
;;
14)
# macOS Sonoma - fixed in 14.8.8
if version_gte "$VERSION" "14.8.8"; then
echo "PATCHED - macOS Sonoma $VERSION >= 14.8.8"
exit 0
else
echo "VULNERABLE - macOS Sonoma $VERSION < 14.8.8 (CVE-2026-39868)"
exit 1
fi
;;
*)
# macOS 13 or earlier - likely vulnerable but EOL
echo "UNKNOWN - macOS $VERSION ($MAJOR.x) is not in the patched version matrix. If EOL, assume VULNERABLE."
exit 2
;;
esacIf you remember one thing.
Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.