Apple macOS Screen Sharing Authentication Bypass — CVE-2026-65400

Pre-auth SRP flaw in screensharingd lets a network attacker reach root and drop an XMRig miner on internet-exposed Macs — actively exploited since mid-August 2026
Threat
CVE-2026-65400
Severity
EXPLOITED ITW CVSS 9.8
Type
CVE · Pre-Auth RCE · Cryptojacking
Access
Network, no credentials required
Version
v0.1 (2026-08-19)
Author
HuntPack
Confidence
High — multi-source corroborated
01

Executive Summary

An attacker who can reach TCP/5900 on a Mac needs nothing but an IP address: CVE-2026-65400 is an authentication-bypass flaw in screensharingd, the daemon behind macOS's built-in Screen Sharing / VNC feature, caused by the Secure Remote Password (SRP) handshake's frame-length validator returning a stale success status instead of correctly rejecting malformed authentication data — the connection is then treated as authenticated with no valid credential ever supplied. From there the attacker rides the entitled SSFileCopySender/SSFileCopyReceiver file-transfer helpers (which carry the kTCCServiceSystemPolicyAllFiles entitlement) to read and write any file as root, install an SSH key and a KeepAlive LaunchDaemon for persistence, and drop XMRig 6.26.0 disguised as a hidden .config/sysmond binary masquerading as com.apple.airportd.

NCSC-NL confirmed active exploitation on multiple internet-exposed hosts on August 12, 2026 — in every case investigated, the attacker obtained root and installed a Monero miner. Microsoft Threat Intelligence confirmed exploitation was still ongoing as of August 18, 2026, the same day CISA added the CVE to its Known Exploited Vulnerabilities catalog. Apple shipped the fix on August 6, 2026 (macOS Tahoe 26.6.1, Sequoia 15.7.9, Sonoma 14.8.9); CISA subsequently rescored the bug from CVSS 7.1 to 9.8 on August 14 after assessing the attack as automatable. Public proof-of-concept code has been available since on or before August 12. An independent researcher scan found roughly 40,000 internet-reachable macOS Screen Sharing hosts, concentrated in U.S. residential IP space with a meaningful tail in university and institutional networks.

The single highest-value defensive move is exposure elimination, not detection: this is a pre-auth bug, so rotating VNC passwords, pruning allowed accounts, or disabling legacy VNC auth do nothing to close it — only patching (or removing the service from the internet) does. Detection in this pack is built to cover what happens after exposure — the process-tree, persistence, and cryptomining behaviors — because Falcon has no native visibility into the pre-auth SRP handshake itself.

Defender priority: Inventory every Mac with Screen Sharing / Remote Management enabled, confirm none has TCP/5900 reachable from the internet, and patch to Tahoe 26.6.1 / Sequoia 15.7.9 / Sonoma 14.8.9 today — this is a CISA KEV entry with a due date of 2026-08-21 and an automatable, root-yielding pre-auth exploit already active in the wild.

02

Source Review & Web Hunter Notes

Correction to initial intake: the three related CVEs (2026-43779, 2026-43777, 2026-43760) were not patched in the same August 6, 2026 advisory as CVE-2026-65400. Apple's own advisory pages (support.apple.com/en-us/148170, /148171) list only CVE-2026-65400 for the August 6 releases. NVD confirms all three related CVEs were published 2026-07-27 and fixed in macOS Tahoe 26.6 / Sequoia 15.7.8 / Sonoma 14.8.8 — a separate, earlier out-of-band update. CVE-2026-43760 in particular (the "confused-context" legacy-VNC file-copy privilege issue Huntress covers alongside 65400) requires the attacker to already hold valid legacy VNC credentials; it is a related but distinct bug from the pre-auth 65400 flaw this pack targets. Both are covered below where their telemetry overlaps.

TierSourceKey FindingCarry Forward
1Apple Security Advisory (support.apple.com/en-us/148171, 148170)Official CVE-2026-65400 description, discovery credit (Alfredo Pesoli / Bynario Atlas), patched versions, Aug 6 2026 release dateYes
1NVD CVE-2026-65400 / 43760 / 43779 / 43777 (JSON records)CVSS vectors, CWE-287, CISA KEV add date (2026-08-18), due date (2026-08-21), automatable SSVC rating, exact patch/version rangesYes
1CISA KEV Catalog alert (2026-08-18)Formal KEV addition, BOD 26-04 remediation requirement, "Apple macOS Improper Authentication Vulnerability" nameYes
1Bynario Atlas blog (bynar.io) — discoverer's own writeupTechnical background on the related CVE-2026-43760 confused-context VNC file-copy bug; clarifies it as post-auth and distinct from 65400; CVSS 5.5 (Bynario's own scoring) vs 8.6 (NVD/CISA rescoring) — noted discrepancy, NVD figure usedPartial
2NCSC-NL advisory (via Malwarebytes, Help Net Security, Tom's Hardware, SecurityWeek reporting)Active exploitation confirmed 2026-08-12; root + Monero miner in every investigated case; initial informational advisory 2026-08-07 escalated 2026-08-12 after public PoC appearedYes
2Microsoft Threat Intelligence (quoted via The Hacker News, 2026-08-15)Full payload chain: file/SSH-key transfer via Screen Sharing → SSH persistence → history/log clearing → pf modification → XMRig 6.26.0 as hidden .config/sysmond, ad-hoc signed, masquerading as com.apple.airportd, KeepAlive LaunchDaemon; exploitation confirmed ongoing as of 2026-08-18Yes
2Huntress technical blogRoot cause detail: SRP frame-length validator returns stale success status; SSFileCopySender/SSFileCopyReceiver helpers carry kTCCServiceSystemPolicyAllFiles entitlement (bypasses TCC); ES event ES_EVENT_TYPE_NOTIFY_SCREENSHARING_ATTACH with authentication_type: SRP as a native (non-Falcon) signalYes
3The Hacker News (Ravie Lakshmanan, 2026-08-15)Aggregation of Microsoft findings; researcher @osxreverser quote: ~40,000 internet-exposed Screen Sharing hosts, concentrated in U.S. residential IPs, some institutional/university hostsYes
3SecurityWeek, Tom's Hardware, Help Net Security, MalwarebytesCorroborating timeline (patch 8/6, NCSC-NL advisory 8/7→8/12, CISA rescore 8/14, KEV add 8/18), public PoC availability, consumer remediation guidancePartial

Web-hunter decision: no atomic file hash, C2/mining-pool domain, or wallet address has been publicly disclosed by any source reviewed as of this pack's build date. The Consolidated IOC Table and Falcon IOC CSV below ship confirmed behavioral indicators (file path, masqueraded bundle ID, miner version) and use explicit REPLACE_WITH_ placeholders for the undisclosed atomic fields rather than inventing values — see §10.

03

Hunt Brief & Attack Chain

Eight hunt hypotheses were mapped from the attack chain below, ordered high-to-low fidelity. Hypotheses 1–4 (screensharingd process-tree anomaly, privileged file-copy helper abuse, hidden-binary execution, bundle masquerade) have no legitimate benign equivalent and carry CONF HIGH. Hypotheses 5–8 (persistence, pf/log tampering, mining network egress) are individually higher-FP but strong in combination or when correlated to a recent screensharingd session.

#StepTelemetryHunt Angle
1Recon for internet-exposed port 5900 (Screen Sharing/VNC)Perimeter/NGFW logs, external ASM scan, NetworkListenIP4Exposure hunt — find it before the attacker does
2Pre-auth connect exploiting SRP frame-length validator stale-success bug — auth bypassed, no valid credential presentedmacOS unified log (ES_EVENT_TYPE_NOTIFY_SCREENSHARING_ATTACH, authentication_type: SRP) — not visible to Falcon nativelyNative audit-log hunt only — see §7; this is the pack's confirmed detection gap
3Attacker drives SSFileCopySender/SSFileCopyReceiver (entitled kTCCServiceSystemPolicyAllFiles) for arbitrary root file read/write, bypassing TCCProcessRollup2/SyntheticProcessRollup2Q1, Q2 — screensharingd child-process anomaly + root-context helper invocation
4SSH public key + scripts transferred via Screen Sharing file transfer; SSH persistence establishedProcessRollup2; native authorized_keys auditNative audit-log hunt §7; correlate with Q1/Q2 timing
5XMRig 6.26.0 dropped, ad-hoc signed, hidden at .config/sysmond, masquerading as com.apple.airportdProcessRollup2, NewExecutableWrittenQ3, Q4 — hidden-path binary + bundle masquerade
6Persistence via LaunchDaemon with KeepAliveProcessRollup2 (launchctl load/bootstrap)Q5
7pf (Packet Filter) rules modified; history and logs cleared to remove evidenceProcessRollup2Q6
8Ongoing Monero mining — sustained CPU/GPU hijack, outbound stratum connectionsNetworkConnectIP4 joined to ProcessRollup2Q7
04

Consolidated IOC Table

TypeValueConfidenceActionContextExpiry
filenamesysmondhighhuntHidden XMRig binary basename, dropped inside a .config/ directory (Microsoft-reported via The Hacker News)2026-11-19
bundle-id (spoofed)com.apple.airportdhighhuntSpoofed Apple system bundle identifier used to mask the XMRig process/LaunchDaemon2026-11-19
softwareXMRig 6.26.0highenrichCryptominer version dropped post-compromise (Microsoft-reported)2026-11-19
processSSFileCopySender / SSFileCopyReceiverhighhuntLegitimate Apple file-copy helpers, entitled kTCCServiceSystemPolicyAllFiles; abused for root file access (Huntress)2026-11-19
port5900/tcphighhuntScreen Sharing/VNC service port; internet exposure is the precondition for exploitation2027-02-19
sha256REPLACE_WITH_SHA256lowpivotNo file hash publicly disclosed as of pack build date — placeholder for Falcon-observed sample2026-09-19
domainREPLACE_WITH_MINING_POOL_DOMAINlowpivotNo mining-pool/C2 domain publicly disclosed as of pack build date2026-09-19
ssh-key-fingerprintREPLACE_WITH_SSH_KEY_FPlowpivotAttacker installs an SSH public key for persistence; no specific key material published2026-09-19

No atomic hash, domain, or wallet address has been publicly attributed to this campaign as of the pack build date (2026-08-19). Ship the behavioral rows above for detection now; replace the placeholder rows the moment a corroborated atomic indicator is published or a sample is recovered in your own environment.

05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
macOS endpoint (Falcon sensor for Mac) — process/file/networkProcessRollup2, SyntheticProcessRollup2, NewExecutableWritten, NetworkConnectIP4CriticalMedium — covers post-compromise behavior; no native pre-auth SRP handshake visibility
macOS unified log (native, non-Falcon)log show/log stream predicate on screensharingd, ES_EVENT_TYPE_NOTIFY_SCREENSHARING_ATTACHHighLow if forwarded to SIEM; High if not centrally collected
Network perimeter / NGFW / cloud security groupInbound-connection logs on TCP/5900, NAT/port-forward rule inventoryCriticalHigh if perimeter logging/inventory is incomplete — this is the exposure precondition
MDM / fleet inventory (Jamf, Kandji, Addigy, etc.)Screen Sharing / Remote Management enabled state, OS version/patch complianceHighMedium — requires MDM query capability outside Falcon/CQL
SSH / identityauthorized_keys content audit, SSH login eventsMediumMedium — no dedicated Falcon macOS file-integrity event for this path; native audit only
06

ATT&CK Mapping

TacticTechnique IDTechnique NameObserved Behavior
Initial AccessT1190Exploit Public-Facing ApplicationPre-auth SRP frame-length validator flaw in internet-exposed screensharingd (port 5900)
Initial AccessT1133External Remote ServicesLegitimate Screen Sharing / Remote Management feature exposed to the internet and abused as the entry vector
Privilege EscalationT1068Exploitation for Privilege EscalationEntitled SSFileCopySender/SSFileCopyReceiver helpers grant root-level file read/write, bypassing TCC
ExecutionT1059.004Command and Scripting Interpreter: Unix ShellPost-compromise shell commands for persistence setup, pf modification, log clearing
PersistenceT1543.004Create or Modify System Process: Launch DaemonKeepAlive LaunchDaemon installed to relaunch the hidden XMRig binary
PersistenceT1098.004Account Manipulation: SSH Authorized KeysAttacker-controlled SSH public key added for durable remote access
Defense EvasionT1036.005Masquerading: Match Legitimate Name or LocationXMRig binary named sysmond, hidden in .config/, bundle ID spoofed as com.apple.airportd
Defense EvasionT1070.002 / T1070.003Indicator Removal: Clear System/Command History LogsAttacker clears shell history and system logs post-compromise
Defense EvasionT1562.004Impair Defenses: Disable or Modify System FirewallPacket Filter (pf) rules modified to maintain access
ImpactT1496Resource HijackingXMRig 6.26.0 Monero cryptominer runs persistently on the compromised host
07

Native Audit-Log Hunts

These checks cover the pre-auth handshake and filesystem artifacts that Falcon's macOS sensor does not natively expose as queryable CQL fields. Run via SSH, Falcon RTR, or MDM script deployment.

1 · Confirm Screen Sharing exposure & patch level

sw_vers -productVersion
# Compare to patched: 14.8.9 (Sonoma) / 15.7.9 (Sequoia) / 26.6.1 (Tahoe)
sudo lsof -iTCP:5900 -sTCP:LISTEN
defaults read /Library/Preferences/com.apple.RemoteManagement.plist 2>/dev/null
sudo launchctl list | grep -i screensharing

2 · Unified log — screensharingd auth events

log show --predicate 'process == "screensharingd"' --style syslog --last 24h
log show --predicate 'eventMessage contains "SCREENSHARING_ATTACH"' --last 24h
# Look for authentication_type: SRP sessions with no corresponding valid-credential entry

3 · Hidden miner artifact sweep

sudo find / -iname "sysmond" 2>/dev/null
ls -la ~/.config/ 2>/dev/null
sudo launchctl list | grep -i airportd
plutil -p /Library/LaunchDaemons/*.plist 2>/dev/null | grep -i -B5 keepalive

4 · SSH authorized_keys audit

for u in /Users/*; do echo "== $u =="; sudo cat "$u/.ssh/authorized_keys" 2>/dev/null; done

5 · pf ruleset audit

sudo pfctl -sr
sudo pfctl -a '*' -s rules
# Compare against known-good baseline; flag any anchor not in change-control

6 · Log/history integrity check

ls -la ~/.bash_history ~/.zsh_history 2>/dev/null
log show --predicate 'eventMessage contains "log erase"' --last 7d
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
Q1 · Screensharingd Spawns Unexpected Child Process
CONF HIGHFP LOWCOST LOW

Looks for: any process spawned directly by screensharingd other than the two documented file-copy helpers. Screen Sharing's normal operation only ever forks SSFileCopySender/SSFileCopyReceiver; a shell, curl, launchctl, or anything else as a direct child is the single strongest post-exploitation signal in this chain.

// HUNT: Screensharingd spawns unexpected child process
// MITRE: T1210, T1068
// CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2 (macOS sensor)
// FALSE POSITIVES: none expected in normal operation — screensharingd has no legitimate reason to fork anything besides the two file-copy helpers
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| ParentBaseFileName=screensharingd
| FileName!=/^(SSFileCopySender|SSFileCopyReceiver)$/i
| table([ComputerName, UserName, ParentBaseFileName, FileName, ImageFileName, CommandLine, timestamp])
Q2 · Privileged File-Copy Helper Invoked as Root
CONF HIGHFP MEDIUMCOST LOW

Looks for: SSFileCopySender/SSFileCopyReceiver — the entitled (kTCCServiceSystemPolicyAllFiles) helpers behind CVE-2026-65400's arbitrary-root-file-access primitive — running as root under a screensharingd parent. FP: legitimate admin-initiated Screen Sharing file transfers by an already-authenticated administrator will also match; correlate with Q1 and the native SRP-session audit in §7 to raise fidelity.

// HUNT: Privileged file-copy helper invoked as root via screensharingd
// MITRE: T1068, T1005
// CONF: high  FP: medium  COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2
// FALSE POSITIVES: legitimate administrator-initiated Screen Sharing file transfer while properly authenticated
// TUNING: exclude UserName values in your Screen Sharing admin allowlist and known maintenance windows; correlate with Q1 process-tree anomaly for higher fidelity
// LOOKBACK: 7d
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^SSFileCopy(Sender|Receiver)$/i
| ParentBaseFileName=screensharingd
| UserName=root
| table([ComputerName, UserName, FileName, ImageFileName, CommandLine, ParentBaseFileName, timestamp])
Q3 · Hidden XMRig Binary at .config/sysmond
CONF HIGHFP LOWCOST LOW

Looks for: execution or write of a binary named sysmond from inside a .config/ path — the exact hidden-dotfile placement Microsoft reported for the ad-hoc-signed XMRig 6.26.0 payload. sysmond is not an Apple binary name.

// HUNT: Hidden XMRig binary execution at .config/sysmond
// MITRE: T1036.005, T1564.001, T1496
// CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2, NewExecutableWritten
// FALSE POSITIVES: near-zero — "sysmond" hidden inside .config/ has no known legitimate use
// LOOKBACK: 14d
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2|NewExecutableWritten/
| FileName=/^sysmond$/i
| ImageFileName=/\.config\//i
| table([ComputerName, UserName, ImageFileName, FileName, CommandLine, SHA256HashData, timestamp])
Q4 · Process Masquerading as com.apple.airportd
CONF HIGHFP LOWCOST LOW

Looks for: a process named airportd executing from anywhere other than the genuine Apple system path. Microsoft reported the attacker spoofs the com.apple.airportd bundle identifier to disguise the miner.

// HUNT: airportd masquerade — process running outside /System/Library
// MITRE: T1036.005
// CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2
// FALSE POSITIVES: none expected — the genuine airportd binary only ever runs from /System/Library
// LOOKBACK: 14d
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^airportd$/i
| ImageFileName!=/^\/System\/Library\//i
| table([ComputerName, UserName, ImageFileName, FileName, CommandLine, ParentBaseFileName, timestamp])
Q5 · LaunchDaemon Persistence Referencing Hidden Payload
CONF MEDIUMFP MEDIUMCOST LOW

Looks for: launchctl load/bootstrap invocations referencing airportd, sysmond, or a .config path — the KeepAlive LaunchDaemon persistence step. FP: legitimate software installers, MDM agents, and EDR/AV updaters register LaunchDaemons routinely.

// HUNT: LaunchDaemon load/bootstrap referencing spoofed name or hidden path
// MITRE: T1543.004
// CONF: medium  FP: medium  COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2
// FALSE POSITIVES: legitimate installers, MDM agents (Jamf/Kandji/Addigy), and security tooling register LaunchDaemons frequently
// TUNING: exclude ParentBaseFileName in {installer, softwareupdated, jamf, Kandji, munki} and exclude known-good plist label prefixes such as com.crowdstrike., com.jamf., com.microsoft., com.kandji.
// LOOKBACK: 14d
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^launchctl$/i
| CommandLine=/(load|bootstrap)/i
| CommandLine=/(airportd|sysmond|\.config)/i
| table([ComputerName, UserName, CommandLine, ParentBaseFileName, timestamp])
Q6 · Post-Compromise Cleanup: pf Modification + Log/History Clearing
CONF MEDIUMFP MEDIUMCOST LOW

Looks for: the reported cleanup cluster — pfctl -e/-f (enable/reload Packet Filter) alongside history clearing (history -c, deletion of bash_history) or unified-log erasure. FP: legitimate firewall administration and routine log-rotation scripts.

// HUNT: pf rule modification + history/log clearing cluster
// MITRE: T1562.004, T1070.002, T1070.003
// CONF: medium  FP: medium  COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2
// FALSE POSITIVES: legitimate pf administration by IT/security staff; routine log-rotation or history-cleanup scripts
// TUNING: exclude ParentBaseFileName in known config-management tooling (ansible, puppet, chef, jamf); raise confidence by correlating with a screensharingd session (Q1/Q2) on the same host within the prior hour
// LOOKBACK: 7d
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(pfctl|bash|zsh|sh)$/i
| CommandLine=/(pfctl\s+-[ef]|history\s+-c|rm\s+.*bash_history|log\s+erase\s+--all)/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, timestamp])
Q7 · Outbound Connections to Cryptomining Stratum Ports
CONF MEDIUMFP HIGHCOST MEDIUM

Looks for: outbound connections on ports commonly used by XMRig/Monero stratum pools, joined back to the initiating process and filtered to binaries outside standard application paths. FP: legitimate crypto-mining software knowingly run by a user, and some dev/VPN tooling that shares these high ports.

// HUNT: Outbound connections to common XMRig/Monero stratum ports
// MITRE: T1496, T1571
// CONF: medium  FP: high  COST: medium | REQUIRES: NetworkConnectIP4 joined to ProcessRollup2/SyntheticProcessRollup2
// FALSE POSITIVES: legitimate/authorized mining software, dev or gaming tools sharing common high ports
// TUNING: maintain a ComputerName allowlist for any host with sanctioned mining/dev use; narrow RemotePort to the specific stratum ports your threat intel confirms; require ImageFileName outside /Applications and /usr to cut noise further
// LOOKBACK: 3d
#event_simpleName=NetworkConnectIP4
| in(RemotePort, values=[3333, 4444, 5555, 7777, 14444, 14433, 45700])
| rename(field=ContextProcessId_decimal, as=TargetProcessId_decimal)
| join(query={#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/}, field=TargetProcessId_decimal, include=[ImageFileName, FileName, CommandLine])
| ImageFileName!=/^\/(Applications|usr)\//i
| table([ComputerName, UserName, ImageFileName, FileName, RemoteAddressIP4, RemotePort, CommandLine, timestamp])
09

CrowdStrike Custom IOA Recommendations

Q1, Q3, and Q4 have no legitimate benign equivalent and are strong Custom IOA candidates for prevent-mode or high-confidence alerting. Q2, Q5, Q6, and Q7 remain Investigate-only hunt queries until tuned against your environment's baseline.

IOA NamePatternExclusionsDeployment Path
DETECT — Screensharingd Anomalous Child ProcessParent = screensharingd; child ≠ SSFileCopySender/SSFileCopyReceiverNone known — start in Detect-only, promote to Prevent after a 14-day burn-in with zero benign hitsCustom IOA → Detect → 14-day validation → Prevent
DETECT — Hidden Binary at .config/sysmondFileName matches ^sysmond$ AND ImageFileName contains .config/None knownCustom IOA → Prevent (high confidence, no legitimate use case)
DETECT — airportd Bundle MasqueradeFileName matches ^airportd$ AND ImageFileName not under /System/Library/None knownCustom IOA → Prevent
10

Machine-Readable IOC Appendix

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
filename,sysmond,detect,high,2026-11-19,Hidden XMRig binary basename inside .config/ directory,campaign:AppleScreenSharing-CVE-2026-65400
sha256,REPLACE_WITH_SHA256,prevent,critical,2027-02-19,XMRig 6.26.0 sample dropped via Screen Sharing file transfer,campaign:AppleScreenSharing-CVE-2026-65400
domain,REPLACE_WITH_MINING_POOL_DOMAIN,detect,high,2026-09-19,Suspected XMRig mining pool endpoint - not publicly disclosed as of pack build date,campaign:AppleScreenSharing-CVE-2026-65400
Behavioral Signatureshunt patterns
# Hidden miner binary path pattern
*/.config/sysmond

# Spoofed bundle identifier
com.apple.airportd  (running outside /System/Library/CoreServices/)

# KeepAlive LaunchDaemon referencing the above
launchctl load|bootstrap ... (airportd|sysmond|.config)

# Screensharingd forking anything other than its two documented helpers
parent=screensharingd child NOT IN (SSFileCopySender, SSFileCopyReceiver)

# Post-compromise cleanup cluster
pfctl -e|-f  +  history -c | rm *bash_history | log erase --all
Named Malware / Toolingreference
Payload:      XMRig 6.26.0 (Monero cryptominer, legitimate open-source
              tool abused post-compromise; ad-hoc signed by attacker)
Vuln daemon:  screensharingd (/System/Library/CoreServices/RemoteManagement/
              screensharingd.bundle/)
Abused helpers: SSFileCopySender, SSFileCopyReceiver
              (entitlement: kTCCServiceSystemPolicyAllFiles)
Primary CVE:  CVE-2026-65400 (CVSS 9.8, CWE-287, pre-auth)
Related CVEs (separate July 27 2026 advisory, NOT the same patch as 65400):
              CVE-2026-43779 (CVSS 9.8, network interception logic issue)
              CVE-2026-43777 (CVSS 7.5, remote DoS)
              CVE-2026-43760 (CVSS 8.6, post-auth legacy-VNC file-copy
              confused-context privilege issue)
Discoverer:   Alfredo Pesoli (@__rev), Bynario Atlas (bynar.io)
Patch / Exposure Audit Checklistverification
# Patch level (must be >= one of these)
sw_vers -productVersion   # 14.8.9 / 15.7.9 / 26.6.1

# Is Screen Sharing listening?
sudo lsof -iTCP:5900 -sTCP:LISTEN

# Is it reachable from the internet? (run from outside the network)
nc -zv -w3 <public-ip> 5900

# Fleet-wide via MDM: query Remote Management enabled-state
# and OS version compliance across all managed Macs
11

Detection Validation Gates

GateRequirement
Telemetry readyFalcon sensor for Mac deployed and healthy on target fleet; macOS unified log forwarding configured for the native audit hunts in §7 (Falcon alone does not cover the pre-auth SRP handshake)
Benign baselineRun Q1 and Q4 for a 14-day lookback with zero hits before promoting to Prevent; any hit during baseline must be triaged, not excluded blindly
Positive testsConfirm Q1/Q2 fire against a controlled Screen Sharing file-transfer session in a lab; confirm Q3/Q4 fire against a benign process deliberately named/placed to match the pattern (do not test with live XMRig)
PromotionQ1, Q3, Q4 → Custom IOA Prevent after burn-in (§9). Q2, Q5, Q6, Q7 remain Investigate-only until FP is tuned against your environment's actual admin/maintenance tooling
12

Hardening — Tiered

Immediate

Patch to the fixed macOS version — Tahoe 26.6.1 / Sequoia 15.7.9 / Sonoma 14.8.9. (MITRE M1051 Update Software.) Verify: sw_vers -productVersion. This is the only control that closes the pre-auth bypass itself.

Disable Screen Sharing / Remote Management on any Mac that does not have an active business need for it. (MITRE M1042 Disable or Remove Feature or Program.) Verify: sudo launchctl list | grep -i screensharing returns nothing.

Block inbound TCP/5900 at the network perimeter for every Mac, regardless of patch state — defense in depth against the next Screen Sharing CVE. (MITRE M1030 Network Segmentation / M1037 Filter Network Traffic.) Verify: external port scan or ASM tool confirms 5900 unreachable from the internet.

Near Term

If Screen Sharing is required, tunnel it behind VPN/Zero Trust access rather than direct internet exposure, and disable legacy VNC-password authentication entirely in favor of managed/Apple ID auth. (MITRE M1035 Limit Access to Resource Over Network.) ⚠ best-practice, no formal CIS macOS benchmark item maps 1:1 to this control — cite Apple's own Remote Management guidance.

Deploy an MDM query (Jamf/Kandji/Addigy) across the fleet for Screen Sharing enabled-state and OS patch compliance; remediate non-compliant hosts on a defined SLA. (MITRE M1047 Audit.)

Forward macOS unified log and Falcon telemetry to a central SIEM so the §7 native hunts (screensharingd auth events, LaunchDaemon/plist changes, authorized_keys audits) run continuously rather than ad hoc. (MITRE M1047 Audit.)

Strategic

Stand up continuous external attack-surface monitoring for the macOS fleet (recurring Shodan/Censys-style self-scans or a commercial ASM tool) so an exposed Screen Sharing port is caught before an advisory does. (MITRE M1016 Vulnerability Scanning.)

LaunchDaemon/LaunchAgent integrity baselining — file-integrity monitoring on /Library/LaunchDaemons/ and /Library/LaunchAgents/ to catch unauthorized persistence going forward, independent of this specific CVE. (MITRE M1022 Restrict File and Directory Permissions.)

Align patch SLAs to CISA KEV due dates (BOD 26-04) for every internet-facing service, not only macOS — this incident's timeline (patch 8/6 → active exploitation confirmed 8/12 → KEV add 8/18, due 8/21) is the template for how fast a pre-auth root bug moves from disclosure to mass exploitation.

13

Deployable Playbooks

Playbook A — Emergency Patch + Disable Exposure

Step 1 — Verify current OS version

sw_vers -productVersion

Prerequisites: none. Reboot required: no. Rollback: none required (read-only check).

Step 2 — Apply the security update

softwareupdate -l
sudo softwareupdate -i "<update-label-from-list>" --restart

Prerequisites: admin credentials; network access to Apple software-update servers; typical combo-update free-space headroom (15+ GB recommended). Reboot required: yes — the update requires a restart. Rollback: none required — downgrading a security patch is not supported by Apple; if an incompatibility surfaces, pause further fleet rollout via MDM staged deployment rather than reverting the patched host.

Step 3 — Disable Screen Sharing / Remote Management if not required

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -stop
sudo launchctl disable system/com.apple.screensharing

Prerequisites: admin credentials; confirmed no legitimate remote-support workflow depends on the service. Reboot required: no. Rollback: sudo launchctl enable system/com.apple.screensharing, then re-enable via System Settings → General → Sharing → Screen Sharing.

Step 4 — Block inbound TCP/5900 at the perimeter

echo 'block in proto tcp from any to any port 5900' | sudo pfctl -a com.company/block5900 -f -
sudo pfctl -e

Prerequisites: pf available on the gateway/host; admin access; adjust the anchor name to your environment's convention. Reboot required: no. Rollback: sudo pfctl -a com.company/block5900 -F all to remove the anchor's rules; only run sudo pfctl -d if pf was disabled before this change.

Playbook B — Incident Triage: Confirm or Reject Compromise on a Suspect Host

Step 1 — Snapshot LaunchDaemons and compare to baseline

ls -la /Library/LaunchDaemons/ /Library/LaunchAgents/ ~/Library/LaunchAgents/ 2>/dev/null
plutil -p /Library/LaunchDaemons/*.plist 2>/dev/null | grep -i -B5 keepalive

Prerequisites: local/remote shell access (Falcon RTR or physical/SSH). Reboot required: no. Rollback: none required (read-only).

Step 2 — Search for the hidden miner artifact

sudo find / -iname "sysmond" 2>/dev/null
ls -la ~/.config/ 2>/dev/null

Prerequisites: shell access; may take several minutes on large volumes. Reboot required: no. Rollback: none required.

Step 3 — Inspect SSH authorized_keys for attacker-added entries

for u in /Users/*; do echo "== $u =="; sudo cat "$u/.ssh/authorized_keys" 2>/dev/null; done

Prerequisites: root/sudo. Reboot required: no. Rollback: none required (read-only) — if an unauthorized key is found, move to the Containment Runbook's eradication phase and preserve a copy as evidence before removing it.

Step 4 — Check pf ruleset for attacker-added anchors

sudo pfctl -sr
sudo pfctl -a '*' -s rules

Prerequisites: root/sudo. Reboot required: no. Rollback: none required (read-only).

14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateNetwork-isolate the host via Falcon RTR containment; add a secondary block at the perimeter firewall in case containment is bypassedSOC / IRIsolation timestamp, Falcon containment confirmation
EradicateCapture a forensic triage collection (memory, relevant plists, logs) before deleting anything; kill the XMRig/sysmond/spoofed-airportd process; remove the KeepAlive LaunchDaemon plist; delete the hidden .config/sysmond binary; remove the attacker's SSH key from authorized_keys; revert pf ruleset to the known-good baseline; rotate local admin/service credentials on the hostIR / Endpoint EngineeringPre-eradication forensic collection, list of removed artifacts, credential-rotation confirmation
RecoverPatch to the fixed macOS version; re-enable Screen Sharing only if required and only via VPN/Zero Trust — never direct internet exposure; restore from known-good backup or re-image if root access duration is unknown or extendedEndpoint Engineering / ITsw_vers confirmation, clean post-remediation scan result
Post-incidentReview MDM inventory for other exposed Macs; enroll the fleet in continuous external-exposure monitoring; update detections/IOAs based on findings; brief stakeholdersSOC / IR LeadAfter-action report, updated asset inventory
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1190 / CWE-287 — pre-auth SRP bypass itselfStale-success frame-length validator accepts an unauthenticated Screen Sharing sessionNone — not exposed as a Falcon macOS fieldNoneGAP native audit-log hunt only (§7)
T1068 — privileged helper abuseSSFileCopySender/Receiver root file accessQ1, Q2Q1 candidateGood
T1036.005 — masqueradingHidden sysmond binary, spoofed airportd bundleQ3, Q4Q3, Q4 candidatesGood
T1543.004 — LaunchDaemon persistenceKeepAlive LaunchDaemon referencing hidden payloadQ5Not yet (FP medium)Partial
T1098.004 — SSH key persistenceAttacker SSH public key added to authorized_keysNone — no Falcon macOS file-write event confirmed for this pathNoneGAP native audit-log hunt only (§7)
T1562.004 / T1070.002 / T1070.003 — defense evasionpf modification, history/log clearingQ6Not yet (FP medium)Partial
T1496 — resource hijackingXMRig mining, outbound stratum connectionsQ7Not yet (FP high)Partial

Two confirmed gaps remain: the pre-auth handshake itself and SSH-key persistence are only covered by the native, non-CQL audit hunts in §7 — Falcon's macOS sensor does not currently expose a queryable field for either. All CQL queries must clear the validation gates in §11 before promotion from Investigate-only to Custom IOA.

16

Hunt Summary Ticket

TITLE:      Apple macOS Screen Sharing Pre-Auth Bypass (CVE-2026-65400) —
            Root Compromise + XMRig Cryptojacking Hunt
SEVERITY:   Critical (CVSS 9.8) — CISA KEV, actively exploited, automatable
SCOPE:      All macOS endpoints, fixed macOS < 14.8.9 / 15.7.9 / 26.6.1,
            especially any host with Screen Sharing / Remote Management
            enabled and TCP/5900 internet-reachable
HYPOTHESIS: An unpatched, internet-exposed Mac was reached via the SRP
            pre-auth bypass, giving the attacker root through the entitled
            SSFileCopySender/Receiver helpers, followed by SSH-key and
            LaunchDaemon persistence and an XMRig 6.26.0 miner hidden at
            .config/sysmond masquerading as com.apple.airportd
QUERIES:    Q1-Q7 (section 8); native audit hunts 1-6 (section 7)
DO FIRST:   1) Inventory Screen Sharing-enabled Macs and confirm patch level
            2) Confirm none has TCP/5900 reachable from the internet
            3) Run Q1 and Q3 (highest confidence, lowest FP) fleet-wide
FINDINGS:   [populate per engagement]
GAPS:       Pre-auth SRP handshake and SSH authorized_keys writes are not
            natively visible to Falcon on macOS — covered only by section 7
ACTIONS:    Patch to Tahoe 26.6.1 / Sequoia 15.7.9 / Sonoma 14.8.9;
            disable Screen Sharing where not required; block inbound
            TCP/5900 at the perimeter; run playbooks A and B (section 13)
OWNER:      [assign per engagement]
VERSION:    v0.1 (2026-08-19)
17

Changelog

v0.12026-08-19Initial release. Built from Apple's own security advisory, NVD/CISA KEV records, NCSC-NL and Microsoft Threat Intelligence reporting, and the Huntress/Bynario technical writeups. Corrected the initial intake assumption that CVE-2026-43779/43777/43760 shipped in the same advisory as CVE-2026-65400 — NVD confirms those three were patched July 27, 2026, a separate release. No atomic hash/domain/wallet indicators were publicly available at build time; shipped as behavioral detections plus labelled placeholders.
18

References

TierSourceUsed ForAccess Date
1Apple — About the security content of macOS Sequoia 15.7.9Official CVE-2026-65400 advisory text, discovery credit2026-08-19
1Apple — About the security content of macOS Tahoe 26.6.1Confirms Aug 6 2026 advisory covers only CVE-2026-654002026-08-19
1NVD — CVE-2026-65400CVSS vector, CWE-287, CISA KEV dates, SSVC automatable rating2026-08-19
1NVD — CVE-2026-43760Confirms July 27 2026 patch date, CVSS 8.6, distinct from 654002026-08-19
1NVD — CVE-2026-43779Confirms July 27 2026 patch date, CVSS 9.8, network interception logic issue2026-08-19
1NVD — CVE-2026-43777Confirms July 27 2026 patch date, CVSS 7.5, remote DoS2026-08-19
1CISA — Adds Four Known Exploited Vulnerabilities to CatalogKEV addition date, BOD 26-04 remediation requirement2026-08-19
1Bynario Atlas — discoverer's technical writeupCVE-2026-43760 background, relationship to CVE-2026-654002026-08-19
2The Hacker News — Apple macOS Screen Sharing Flaw Exploited to Install Monero MinerMicrosoft's full payload chain quote, exposure researcher stat2026-08-19
2Huntress — From Screen Share to Root AccessSRP root-cause detail, SSFileCopySender/Receiver entitlement, ES event names2026-08-19
3SecurityWeek — Recent macOS Screen Sharing Vulnerability Exploited in AttacksNCSC-NL quote, public PoC timeline, exposure count2026-08-19
3Malwarebytes — Update your MacConsumer remediation guidance, exposure context2026-08-19
3Tom's Hardware — Critical macOS Screen Sharing flawTimeline corroboration (patch/NCSC-NL/CISA rescore)2026-08-19
3Help Net Security — Attackers exploit patched macOS Screen Sharing flawNCSC-NL advisory escalation timeline (Aug 7 → Aug 12)2026-08-19