← Back to Feed CACHED · 2026-06-30 20:17:41 · CACHE_KEY CVE-2026-43745
CVE-2026-43745 · CWE-787 · Disclosed 2026-06-29

An out-of-bounds write issue was addressed with improved input validation

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

A pothole on the Safari off-ramp that flips the car only if the driver volunteers to take the exit

CVE-2026-43745 is an *out-of-bounds write* (CWE-787) in WebKit, Apple's browser engine. A maliciously crafted web page can push WebKit past an allocation boundary and corrupt adjacent memory. Apple's own write-up describes the observable impact as an unexpected Safari crash — i.e., a denial-of-service outcome rather than confirmed code execution. Affected builds are macOS Tahoe, macOS Sonoma, macOS Sequoia, iOS/iPadOS, and standalone Safari prior to the 26.5.2 train (iOS 26.5.2 / iPadOS 26.5.2 / macOS Tahoe 26.5.2 / Safari 26.5.2). The bug was reported by OpenAI Codex Security (Amy Burnett, Khai Tran) — one of the AI-discovered WebKit bugs in Apple's June 2026 cycle.

The vendor's MEDIUM (6.5) label tracks reality. The CVSS vector AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H correctly captures a network-reachable, user-interaction-required *availability-only* impact. Apple has not (yet) re-scored this as a memory-corruption-to-RCE primitive, and there's no public exploit demonstrating C/I impact. A patient researcher might convert the OOB write into something heavier, but as documented today it is a crash. MEDIUM is fair.

"Browser crash bug in WebKit — UI:R caps the chain, no RCE evidence, no in-the-wild use. Roll with the next Safari pass."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Stage the malicious page

Attacker builds an HTML/JS payload that triggers the vulnerable WebKit code path responsible for the OOB write. Distribution is typical web-attack tradecraft: malvertising, watering-hole compromise, phishing link, or attacker-controlled redirect. Tooling: a custom WebKit fuzz harness (think Domato, Fuzzilli) and a hand-tuned PoC HTML file.
Conditions required:
  • Knowledge of the affected WebKit code path
  • Ability to host or inject content into a page the victim loads
Where this breaks in practice:
  • Apple Safari rolls forward aggressively — installed-base reaches the 26.5.2 line within days on managed fleets
  • Safari Intelligent Tracking Prevention and ad-blockers reduce drive-by reach
  • MDM-pushed Safari minimum-version policies harden the population fast
Detection/coverage: Secure web gateways (Zscaler, Netskope, Cloudflare Gateway) can block known-bad URLs but cannot detect novel WebKit corruption payloads in-line.
STEP 02

Lure user interaction (UI:R)

Per the CVSS vector, the victim must actively *open the page* — UI:R is non-trivial here because it means no zero-click vector is on the table. Attacker drives the click via phishing, an embedded iframe on a compromised site, or social engineering. Stage tooling: Evilginx2, Gophish, or commodity smishing kits.
Conditions required:
  • A reachable user
  • A delivery channel (email, SMS, social, watering hole)
Where this breaks in practice:
  • Email gateways (Proofpoint, Mimecast, M365 Safe Links) detonate URLs
  • Browser SafeBrowsing and Apple's malicious-site checks block known-bad domains
  • Enterprise EDR (CrowdStrike, SentinelOne) flags suspicious child processes spawned from Safari
Detection/coverage: URL detonation telemetry, EDR browser-child-process visibility.
STEP 03

Trigger the OOB write

On page load, the crafted DOM/JS forces WebKit through the unvalidated input path; the bounds check is missing or off-by-N, and the renderer writes past an allocation. Documented outcome is a renderer crash — that's C:N/I:N/A:H.
Conditions required:
  • Victim using vulnerable Safari/WebKit build (< 26.5.2)
  • JavaScript enabled (typical)
Where this breaks in practice:
  • WebKit process isolation sandboxes the renderer — a crash is contained to the tab
  • Pointer Authentication (PAC) on Apple Silicon makes write-what-where escalation significantly harder
  • Lockdown Mode disables most of the attack surface for at-risk users
Detection/coverage: macOS unified log will show repeated com.apple.WebKit.WebContent crashes; EDR telemetry on Safari helper-process exits.
STEP 04

Attempt escalation to code execution (speculative)

To convert this from DoS into RCE, the attacker would need to chain the OOB write with a separate WebKit info-leak, defeat ASLR/PAC, and then break out of the WebContent sandbox. No public PoC does this for CVE-2026-43745. Tooling parallel: prior WebKit chains have used WebAssembly JIT spray and structure-ID spoofing primitives.
Conditions required:
  • A separate info-leak primitive
  • Sandbox escape (second bug)
  • Bypass of PAC/ASLR
Where this breaks in practice:
  • Apple sandbox + PAC + system integrity protection
  • Vendor scoring is C:N/I:N — strong signal Apple's analysis did not see a corruptible memory primitive
  • No researcher has published a chain
Detection/coverage: EDR catches unusual Safari subprocesses or post-exploit persistence attempts (LaunchAgents, login items).
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo active exploitation reported. Apple's advisory does *not* flag this as exploited, unlike CVE-2026-XXXX kernel bugs in the same cycle.
Public PoCNone published. Discovered internally by OpenAI Codex Security (Amy Burnett, Khai Tran) during AI-assisted WebKit fuzzing.
EPSS0.00297 (~0.3% probability of exploitation in next 30 days) — low percentile, consistent with a quietly-fixed memory bug.
KEVNot listed on CISA KEV as of 2026-07-01.
CVSS v3.1AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H — network-reachable, user-interaction-required, availability-only impact (crash).
Affected versionsSafari < 26.5.2, iOS/iPadOS < 26.5.2, macOS Tahoe < 26.5.2, macOS Sonoma & Sequoia pre-equivalent WebKit roll-up.
Fixed versionsSafari 26.5.2, iOS 26.5.2, iPadOS 26.5.2, macOS Tahoe 26.5.2, plus backport WebKit packages for Sonoma/Sequoia.
Exposure / scan dataNot a network-listening service — Shodan/Censys/GreyNoise show no relevant external exposure surface. Risk population = your installed base of Safari/WebKit users.
Disclosure date2026-06-29 alongside the Apple June security train (30+ fixes, including AI-discovered WebKit bugs).
ReporterOpenAI Codex Security — Amy Burnett, Khai Tran.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to MEDIUM (5.8/10)

Vendor scoring is honest: C:N/I:N/A:H plus UI:R describes a user-driven browser crash, not RCE — the single most decisive factor is availability-only impact with confirmed C:N/I:N. No KEV listing, no public PoC, EPSS 0.003 keep MEDIUM appropriate.

HIGH Vendor description and CVSS vector accuracy
HIGH Absence of public exploitation
MEDIUM Long-term resistance to RCE conversion — WebKit OOB writes have historically been weaponized

Why this verdict

  • Availability-only impact: vector says C:N/I:N/A:H — Apple's own analysis sees a crash, not a data-exfil or integrity primitive.
  • UI:R requirement: zero-click is off the table; victim must load attacker content, which email and web gateways already filter.
  • No exploitation signal: EPSS 0.003, not on KEV, no public PoC, discovered internally by an AI fuzzing team — the bug went from discovery to fix with no adversary involvement.
  • Role multiplier: WebKit ships on (a) workstations / iPhones / iPads — DoS only per current scoring; (b) macOS servers running admin consoles in Safari — still just renderer crash; (c) WebKit-using apps with WKWebView (Mail, Slack helpers, Electron-ish wrappers) — same renderer sandbox, same containment. No high-value-role chain ends in fleet takeover with the documented primitive. Floor stays MEDIUM.
  • Patch availability is clean: Apple shipped point releases (26.5.2) — no compensating-control gymnastics required, normal browser-update cadence handles it.

Why not higher?

Promotion to HIGH would require either a confirmed RCE chain (none exists), KEV listing (it isn't), or a high-value-role blast radius (WebKit's renderer sandbox + PAC contain the documented primitive). C:N/I:N is the killer signal — Apple specifically chose to score this as non-confidentiality-impacting.

Why not lower?

Downgrading to LOW would ignore that OOB writes in WebKit have repeatedly been chained into iOS implant payloads (Pegasus, Predator) by patient actors. The bug is real, network-reachable, and trivial-AC. MEDIUM with normal-cadence patching is the honest call; LOW would invite complacency.

05 · Compensating Control

What to do — in priority order.

  1. Push Safari/iOS/iPadOS/macOS 26.5.2 via MDM — Jamf, Intune, Kandji, Mosyle — set the minimum-OS / minimum-Safari version to 26.5.2 and force-install. Deadline: this is a MEDIUM verdict, so the noisgate remediation SLA is 365 days, but for a browser bug the practical target is the next monthly patch ring (under 30 days).
  2. Enable Apple's Lockdown Mode for high-risk users — Executives, journalists, dissidents, M&A counsel — Lockdown Mode strips down WebKit's attack surface significantly. Configure via Settings → Privacy & Security → Lockdown Mode, or push via Configuration Profile.
  3. Block known-bad domains at the secure web gateway — Use threat-intel feeds in Zscaler/Netskope/Cisco Umbrella to drop access to active phishing infrastructure that could host triggering pages. Useful while patch deployment completes.
  4. Tune EDR to alert on repeated WebContent crashes — Repeated com.apple.WebKit.WebContent crashes on one host = either bad ad inventory or active exploit attempt. CrowdStrike / SentinelOne / Defender for Endpoint can pattern-match the crash signature.
What doesn't work
  • Network IDS signatures on the page payload — content is delivered over TLS and the corruption trigger is a function of WebKit's parser state, not a static byte pattern.
  • WAF rules — the victim is the browser, not your web app; WAFs in front of *your* sites don't help against drive-by from third-party sites.
  • Disabling JavaScript globally — breaks every modern web app and isn't a realistic enterprise control.
  • Third-party browsers on iOS — they all wrap WebKit on iOS/iPadOS, so Chrome/Edge/Firefox-for-iOS share the bug until WebKit updates.
06 · Verification

Crowdsourced verification payload.

Run on the target macOS host as a normal user — no sudo required. Invoke as ./check-cve-2026-43745.sh. Reports VULNERABLE if Safari or macOS WebKit is below the 26.5.2 fix line.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# noisgate check: CVE-2026-43745 (WebKit OOB write, fixed in 26.5.2 train)
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -u

FIXED_SAFARI="26.5.2"
FIXED_MACOS_TAHOE="26.5.2"

ver_ge() {
  # returns 0 if $1 >= $2 (dot-separated version compare)
  [ "$1" = "$(printf '%s\n%s\n' "$1" "$2" | sort -V | tail -n1)" ]
}

# 1. macOS version
MACOS_VER=$(sw_vers -productVersion 2>/dev/null || echo "")
# 2. Safari version (from bundle Info.plist)
SAFARI_PLIST="/Applications/Safari.app/Contents/Info.plist"
SAFARI_VER=""
if [ -f "$SAFARI_PLIST" ]; then
  SAFARI_VER=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "$SAFARI_PLIST" 2>/dev/null || echo "")
fi

echo "macOS:  ${MACOS_VER:-unknown}"
echo "Safari: ${SAFARI_VER:-unknown}"

VULN=0
UNKNOWN=0

if [ -n "$SAFARI_VER" ]; then
  if ver_ge "$SAFARI_VER" "$FIXED_SAFARI"; then
    echo "Safari: OK (>= $FIXED_SAFARI)"
  else
    echo "Safari: VULNERABLE (< $FIXED_SAFARI)"
    VULN=1
  fi
else
  UNKNOWN=1
fi

# Tahoe-class build check (26.x)
if [ -n "$MACOS_VER" ]; then
  case "$MACOS_VER" in
    26.*)
      if ver_ge "$MACOS_VER" "$FIXED_MACOS_TAHOE"; then
        echo "macOS Tahoe: OK (>= $FIXED_MACOS_TAHOE)"
      else
        echo "macOS Tahoe: VULNERABLE (< $FIXED_MACOS_TAHOE)"
        VULN=1
      fi
      ;;
    14.*|15.*)
      # Sonoma / Sequoia — confirm WebKit backport package presence
      echo "macOS pre-Tahoe: confirm Safari $FIXED_SAFARI is installed (handled above)"
      ;;
    *)
      echo "macOS version not recognized — manual review"
      UNKNOWN=1
      ;;
  esac
fi

if [ $VULN -eq 1 ]; then
  echo "RESULT: VULNERABLE"
  exit 1
fi
if [ $UNKNOWN -eq 1 ]; then
  echo "RESULT: UNKNOWN"
  exit 2
fi
echo "RESULT: PATCHED"
exit 0
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: this is a MEDIUM browser crash bug, not a fire drill. Per the noisgate mitigation SLA for MEDIUM, there is *no formal mitigation SLA* — go straight to the noisgate remediation SLA of ≤ 365 days, but for a browser bug your practical target is your next monthly OS-patch ring (under 30 days). Push the 26.5.2 train (iOS, iPadOS, macOS Tahoe, Safari) via Jamf/Intune/Kandji as part of the normal cadence; turn on Lockdown Mode for high-risk personas; tune EDR for repeated WebContent crashes as an exploitation tripwire. Do not bump this ahead of any CRITICAL/HIGH KEV-listed items in the queue.

Sources

  1. Apple — About the security content of Safari 26.5.2
  2. Apple — About the security content of macOS Tahoe 26.5.2
  3. Apple — About the security content of iOS 18.6.2 and iPadOS 18.6.2
  4. Apple — About the security content of macOS Sonoma 14.7.8
  5. The Hacker News — Apple Patches 30+ iOS/macOS/Safari Flaws, AI-Discovered WebKit Bugs
  6. SecurityAffairs — Apple Fixes WebKit Flaws With Help From AI Tools
  7. CISA Known Exploited Vulnerabilities Catalog
  8. FIRST EPSS Model
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.