← Back to Feed CACHED · 2026-06-30 15:24:51 · CACHE_KEY CVE-2026-39872
CVE-2026-39872 · CWE-119 · Disclosed 2026-06-29

The issue was addressed with improved memory handling

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A malicious webpage that can crash your browser tab but not (publicly) own your device

CVE-2026-39872 is a WebKit memory-handling defect (CWE-119, out-of-bounds memory access class) in Apple's browser engine. Apple's advisory describes the impact narrowly: *processing maliciously crafted web content may lead to an unexpected Safari crash*. No language about arbitrary code execution, sandbox escape, or kernel impact. Affected: Safari, iOS, iPadOS, macOS prior to the 26.5.2 train. Fixed in Safari 26.5.2, iOS/iPadOS 26.5.2, macOS Tahoe 26.5.2. Credited to Utkarsh Pal and Ignacio Sanmillan (@ulexec).

Vendor CVSS of 6.5 (MEDIUM) with C:N/I:N/A:H matches Apple's *crash-only* description: the only impacted dimension is availability of the browser process. That's a fair label — but for an enterprise managing 10k hosts the operational reality is even softer. A tab crash is not a denial of service of any consequential resource; Safari restores tabs, the OS keeps running, no data is exposed. Reality is LOW, not MEDIUM.

"WebKit memory-corruption crash bug — user must visit hostile content, no RCE claimed, fix already in Safari 26.5.2. Patch on next cycle."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Attacker hosts malicious web content

Adversary stands up a page (or compromises an ad network / third-party JS include) serving the malformed DOM/JS/media payload that trips the WebKit memory bug. No special infrastructure required — any HTTPS endpoint works. Tooling: a custom WebKit fuzzer harness (e.g., Fuzzilli-derived) is the realistic weaponization path; no public PoC exists at this time.
Conditions required:
  • Attacker-controlled URL or ability to inject content into a page the victim loads
Where this breaks in practice:
  • Apple's WebKit JIT and structure-ID hardening absorb most naive memory bugs before they reach exploitable state
Detection/coverage: Web proxies / SWGs with reputation feeds catch known-bad domains; this CVE has no detection signature.
STEP 02

Victim navigates to the page (UI:R)

CVSS vector requires user interaction. Victim clicks a link, opens a phishing lure, or loads an iframe/ad serving the payload in Safari (or any WebKit-based browser on the affected Apple OS — Mail previews and in-app browsers using WKWebView also qualify).
Conditions required:
  • User loads attacker content in WebKit
  • Target is on Safari/iOS/iPadOS/macOS prior to 26.5.2
Where this breaks in practice:
  • Enterprise SWG/DNS filtering (Umbrella, Zscaler, Netskope) blocks newly-registered or low-reputation domains
  • Lockdown Mode on managed iOS fleets disables JIT and most attack surface
Detection/coverage: MDM compliance check on OS build; no per-request signature.
STEP 03

WebKit hits malformed input → memory corruption

The renderer process dereferences a bad pointer / accesses out-of-bounds memory during content parsing or DOM manipulation. Per Apple's text the observed behavior is an unexpected crash of the WebContent process — no exploitation primitive (info leak, RW, RCE) is documented.
Conditions required:
  • Affected WebKit build
  • JIT enabled (default outside Lockdown Mode)
Where this breaks in practice:
  • WebContent process is sandboxed; crashing it does not crash the device or other tabs
  • PAC, ASLR, and structure-ID randomization significantly raise the bar to weaponize beyond a crash
Detection/coverage: Crash logs (~/Library/Logs/DiagnosticReports/) reference com.apple.WebKit.WebContent.
STEP 04

Impact: tab/renderer crash

Safari shows a reload prompt; iOS reopens the tab. No persistence, no escalation. A skilled attacker COULD attempt to chain this with a separate sandbox-escape or info-leak primitive — but Apple's advisory provides zero indication such a primitive exists for this bug, and the CVSS vector explicitly says C:N/I:N.
Conditions required:
  • No additional primitives available publicly
Where this breaks in practice:
  • Chain would require a second, unrelated WebKit/kernel CVE — i.e., this bug is not a standalone weapon
Detection/coverage: Crash telemetry via MDM / Jamf Protect / Apple Crash Reporter.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo evidence of exploitation. Apple did not flag this as an actively-exploited zero-day (no "Apple is aware of a report" language).
Public PoCNone published. WebKit Bugzilla 314235 is the upstream tracker; no GitHub repos or Metasploit modules.
EPSS0.00194 — bottom-quartile probability of exploitation in the next 30 days.
KEV statusNot listed by CISA.
CVSS vectorAV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H — network reach, user click required, availability-only impact (no confidentiality / integrity loss).
Affected versionsSafari, iOS/iPadOS, macOS Tahoe prior to 26.5.2. WKWebView-based apps inherit fix only after OS update.
Fixed versionsSafari 26.5.2, iOS/iPadOS 26.5.2, macOS Tahoe 26.5.2 (released June 2026).
ExposureEffectively every Apple endpoint that browses the open web — but exposure ≠ exploitability for a crash-only bug.
Disclosure2026-06-29, coordinated disclosure via Apple security update.
ReporterUtkarsh Pal and Ignacio Sanmillan (@ulexec) — known WebKit researchers.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (3.8/10)

Vendor advisory explicitly limits impact to *unexpected Safari crash* with CVSS C:N/I:N/A:H — the single decisive factor is that there is no confidentiality or integrity loss and no documented code-execution primitive. A renderer-tab crash on a sandboxed WebContent process is not a meaningful availability impact at fleet scale.

HIGH Impact ceiling (crash-only per vendor)
HIGH No active exploitation
MEDIUM Likelihood no hidden RCE primitive emerges

Why this verdict

  • Impact is availability-only on a sandboxed process. Apple's own description caps the damage at a Safari crash. The WebContent process is sandboxed; the user reloads and moves on.
  • No public PoC, no KEV, EPSS 0.0019. Three independent signals all agree this is not a near-term threat.
  • User interaction required (UI:R). Drive-by exploitation requires the victim to actively load attacker content; enterprise SWG, DNS filtering, and email link-rewriting absorb most candidate lures.
  • Role multiplier: WebKit runs on user endpoints (workstations, phones, tablets) — never on high-value-role infrastructure (no DC, no hypervisor, no IdP, no CA, no PAM, no kernel-mode security agent). There is no fleet-scale or identity-scale blast radius pathway. Floor: LOW.
  • Patch already shipping via the normal Apple OS update channel — most managed fleets will pick it up in the next MDM compliance window without dedicated effort.

Why not higher?

MEDIUM would require either a credible RCE chain (none documented), a sandbox-escape pairing (none disclosed), or an active-exploitation signal (none — Apple did not invoke the "aware of a report" language). The CVSS A:H label inflates a renderer crash to MEDIUM; in operational terms a tab crash is not a meaningful availability event.

Why not lower?

IGNORE is wrong because the bug IS network-reachable, IS in widely-deployed browser code, and the underlying memory corruption class (CWE-119) historically has been weaponized into RCE chains when paired with info leaks. A latent risk of a future, smarter exploit keeps this on the patch backlog rather than dismissed.

05 · Compensating Control

What to do — in priority order.

  1. Let OS auto-update push 26.5.2 in the next MDM compliance window — This is the cleanest remediation. No mitigation SLA applies for a LOW verdict — close out within the 365-day remediation window, though Apple's normal cadence will get you there in days. For BYOD, enforce iOS/macOS minimum-OS policy via Intune/Jamf compliance.
  2. Block known-bad domains at SWG/DNS layer — Standard practice — Zscaler, Umbrella, Netskope, Cloudflare Gateway will neutralize any opportunistic mass-distribution attempt long before a public PoC emerges.
  3. Enable Lockdown Mode for high-risk principals (execs, journalists, M&A counsel) — Lockdown Mode disables WebKit JIT and aggressive content types, raising the exploitation bar against any WebKit memory bug. Worth it for the top 1% of your user base, not the rest.
What doesn't work
  • EDR signatures — there is no shellcode to detect; a clean crash leaves no IOC distinct from any other WebKit bug.
  • WAF / IPS rules — content is HTTPS-encrypted and parsed client-side; perimeter inspection cannot see the malformed payload.
  • Disabling JavaScript globally — breaks too many enterprise SaaS apps to be a viable trade for a crash-only bug.
06 · Verification

Crowdsourced verification payload.

Run on the target macOS host with normal user privileges (no sudo). Invoke as ./check-cve-2026-39872.sh. Reports VULNERABLE if Safari or macOS build is below 26.5.2. For iOS/iPadOS, check via your MDM (Jamf, Intune, Kandji) compliance report — there is no on-device shell.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check-cve-2026-39872.sh
# Detects unpatched WebKit (CVE-2026-39872) on macOS hosts.
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN

set -u

FIXED_MACOS="26.5.2"
FIXED_SAFARI="26.5.2"

version_lt() {
  # returns 0 (true) if $1 < $2
  [ "$1" = "$2" ] && return 1
  printf '%s\n%s\n' "$1" "$2" | sort -V -C
}

if [[ "$(uname -s)" != "Darwin" ]]; then
  echo "UNKNOWN: not a macOS host (WebKit CVE applies to Apple OSes only)"
  exit 2
fi

MACOS_VER=$(sw_vers -productVersion 2>/dev/null || echo "")
SAFARI_VER=$(defaults read /Applications/Safari.app/Contents/Info CFBundleShortVersionString 2>/dev/null || echo "")

if [[ -z "$MACOS_VER" || -z "$SAFARI_VER" ]]; then
  echo "UNKNOWN: could not enumerate macOS or Safari version"
  exit 2
fi

echo "macOS:  $MACOS_VER (fixed >= $FIXED_MACOS)"
echo "Safari: $SAFARI_VER (fixed >= $FIXED_SAFARI)"

vuln=0
if version_lt "$MACOS_VER" "$FIXED_MACOS"; then vuln=1; fi
if version_lt "$SAFARI_VER" "$FIXED_SAFARI"; then vuln=1; fi

if [[ $vuln -eq 1 ]]; then
  echo "VULNERABLE: update to macOS Tahoe 26.5.2 / Safari 26.5.2 or later"
  exit 1
fi

echo "PATCHED"
exit 0
07 · Bottom Line

If you remember one thing.

TL;DR
This is a LOW. Treat it as routine OS-update hygiene, not an incident. Per the noisgate mitigation SLA there is no mitigation deadline for a LOW verdict — go straight to the noisgate remediation SLA of ≤ 365 days, but in practice Apple's standard auto-update channel will close it on managed fleets within a week. Monday morning: confirm your MDM (Jamf/Intune/Kandji) minimum-OS policy enforces ≥ macOS 26.5.2 / iOS 26.5.2 / Safari 26.5.2, push a compliance scan, and move on. Do not pull engineers off higher-impact work for this one. Re-evaluate ONLY if a public PoC demonstrates the crash can be chained to a sandbox escape or info leak — at that point we re-grade.

Sources

  1. Apple — Safari 26.5.2 security content
  2. Apple — macOS Tahoe 26.5.2 security content
  3. Apple — iOS 26.5.2 / iPadOS 26.5.2 security content
  4. MITRE CVE record — CVE-2026-39872
  5. NVD entry — CVE-2026-39872
  6. WebKit Bugzilla 314235
  7. CISA KEV catalog (for negative confirmation)
  8. FIRST EPSS lookup
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.