Skip to navigation

Threat reportVulnerabilityTL-2026-4835

CVE-2024-54471: macOS NetAuthAgent MIG Server Flaw Enables Credential Leakage and iCloud Data Access

mediumPATCHED

A missing sender/entitlement check in the macOS NetAuthAgent MIG server (com.apple.netauth.user.gui, routine 19 / message ID 40219) lets any local process query stored internet-password credentials, and from there decrypt an on-disk iCloud account file and obtain long-lived iCloud API tokens. First disclosed .

Key facts for NetAuthAgent credential leak

IdentifiersTL-2026-4835, CVE-2024-54471
Also known asLeaking Passwords...and more on macOS
SeverityMEDIUM
CVSS5.5 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N)
First disclosed
Exploitation statusPublic proof-of-concept exploit
EPSSCVE-2024-54471: 0.2% (11.5th percentile)
Affected productsApple macOS
Weaknesses (CWE)CWE-522
ToolsKass, ftp - S0095, ipsw
MITRE ATT&CK techniquesT1005 Data from Local System, T1078.004 Cloud Accounts, T1212 Exploitation for Credential Access, T1528 Steal Application Access Token, T1530 Data from Cloud Storage, T1550.001 Application Access Token, T1555.001 Keychain, T1559 Inter-Process Communication
MotivationUNKNOWN
Target sectorstechnology, enterprise, consumer
Target regionsGlobal
Detection rules9 (1 shown free)
Sources8 cited sources

Detection coverage for NetAuthAgent credential leak

As of 2026-10-30, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-4835 across Splunk SPL, Microsoft KQL and Sigma, covering 5 indicator(s) of compromise. The whole corpus is readable without an account. Every threat comes with one complete detection in Splunk SPL, Microsoft KQL and Sigma, free for everyone; a free account adds daily TL Creds to unlock the rest. Paid plans add a larger daily allowance, correlation and the MCP server. Threadlinqs MCP server · View plans.

Free detection: iCloud API Access by Scripting Clients or Non-Apple Processes (Stolen Token Use) — C2 / Lateral Movement (SPL)

Detects use of stolen long-lived iCloud API tokens: curl, python, node, ruby, perl or swift command lines targeting iCloud service hosts (setup, gateway, fmipmobile, and pNN- contacts, calendars, keyvalueservice, ckdatabase, fmip, quota), and non-Apple processes connecting to icloud.com hosts. These tokens, recoverable via CVE-2024-54471, give access to contacts, calendars, Find My, key-value store, backup metadata and CloudKit from any host, so token use from unexpected systems is the post-exploitation signal.

  • Languages: Splunk SPL, Microsoft KQL, Sigma
  • ATT&CK: T1550.001, T1078.004, T1530, T1528
  • Data sources: osquery, microsoft_defender_for_endpoint
  • Severity: medium
  • Confidence: medium

Splunk SPL

index=macos sourcetype="osquery:results" earliest=-24h
| eval proc=lower(coalesce(path, process_path, "")), cmd=lower(coalesce(cmdline, command_line, "")), dhost=lower(coalesce(dest_host, remote_hostname, ""))
| where (match(cmd, "(curl|wget|python|node|ruby|perl|swift)") AND match(cmd, "(setup|gateway|fmipmobile|p[0-9]+-(contacts|calendars|keyvalueservice|ckdatabase|fmip|quota))[.]icloud[.]com")) OR (match(dhost, "[.]icloud[.]com$") AND NOT match(proc, "^(/system/|/usr/libexec/|/applications/|/library/apple/)"))
| stats count values(proc) as processes values(dhost) as icloud_hosts values(cmd) as commands by host
| table host processes icloud_hosts commands count

Microsoft KQL

DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemoteUrl endswith ".icloud.com"
| where InitiatingProcessFolderPath !startswith "/System/" and InitiatingProcessFolderPath !startswith "/usr/libexec/" and InitiatingProcessFolderPath !startswith "/Applications/" and InitiatingProcessFolderPath !startswith "/Library/Apple/"
| summarize Connections = count(), Hosts = make_set(RemoteUrl, 20), FirstSeen = min(Timestamp), LastSeen = max(Timestamp) by DeviceName, InitiatingProcessFileName, InitiatingProcessFolderPath, InitiatingProcessCommandLine
| project DeviceName, InitiatingProcessFileName, InitiatingProcessFolderPath, InitiatingProcessCommandLine, Connections, Hosts, FirstSeen, LastSeen

Sigma

title: Scripting Client Calling iCloud API Hosts on macOS (Stolen iCloud Token Use, CVE-2024-54471)
id: b4d8e3f7-61c2-4c9a-a7e5-9f2d1c0b8a03
status: experimental
description: Detects curl, python, node, ruby or perl command lines targeting iCloud service hosts such as setup, gateway, fmipmobile, contacts, calendars, keyvalueservice, ckdatabase and fmip, consistent with replay of long-lived iCloud API tokens obtained through the NetAuthAgent flaw (CVE-2024-54471).
references:
    - https://objective-see.org/blog/blog_0x7E.html
    - https://wts.dev/posts/password-leak/
author: AII-Detector — ThreadLinqs Intelligence
date: 2026-10-30
tags:
    - attack.credential_access
    - attack.t1528
    - attack.defense_evasion
    - attack.t1550.001
    - attack.collection
    - attack.t1530
    - attack.initial_access
    - attack.t1078.004
    - cve.2024-54471
logsource:
    category: process_creation
    product: macos
detection:
    selection_img:
        Image|endswith:
            - '/curl'
            - '/python'
            - '/python3'
            - '/node'
            - '/ruby'
            - '/perl'
    selection_host:
        CommandLine|contains:
            - 'setup.icloud.com'
            - 'gateway.icloud.com'
            - 'fmipmobile.icloud.com'
            - '-contacts.icloud.com'
            - '-calendars.icloud.com'
            - '-keyvalueservice.icloud.com'
            - '-ckdatabase.icloud.com'
            - '-fmip.icloud.com'
    condition: selection_img and selection_host
falsepositives:
    - Developers testing iCloud or CloudKit APIs from scripts
    - Legitimate third-party sync or backup tooling that calls iCloud endpoints
level: medium

Known false positives:

  • Developers testing iCloud or CloudKit APIs from scripts
  • Legitimate third-party sync or backup applications connecting to icloud.com

Tuning notes: Map dest_host/remote_hostname to your network or DNS telemetry field. The /Applications exclusion hides legitimate apps but also malicious apps installed there; baseline signed third-party iCloud clients and tighten the exclusion by signing ID. Correlate with the iCloud account file or keychain detections on the same host and with iCloud-side session reviews.

8 more detection rules (Splunk SPL, Microsoft KQL, Sigma) · unlock with TL Creds. Sign up free to unlock the detection rules or query them with the Threadlinqs MCP server (Purple)
  • CVE-2024-54471 NetAuthAgent MIG Service Abuse or Kass/ipsw MIG Tooling — Exploitation (KQL) · unlock with TL Creds
  • macOS Keychain Internet-Password and iCloud Account File Access by Non-Apple Process — Post-Exploitation (KQL) · unlock with TL Creds
  • iCloud API Access by Scripting Clients or Non-Apple Processes (Stolen Token Use) — C2 / Lateral Movement (KQL) · unlock with TL Creds
  • CVE-2024-54471 NetAuthAgent MIG Service Abuse or Kass/ipsw MIG Tooling — Exploitation (Sigma) · unlock with TL Creds
  • macOS Keychain Internet-Password and iCloud Account File Access by Non-Apple Process — Post-Exploitation (Sigma) · unlock with TL Creds
  • iCloud API Access by Scripting Clients or Non-Apple Processes (Stolen Token Use) — C2 / Lateral Movement (Sigma) · unlock with TL Creds
  • CVE-2024-54471 NetAuthAgent MIG Service Abuse or Kass/ipsw MIG Tooling — Exploitation (SPL) · unlock with TL Creds
  • macOS Keychain Internet-Password and iCloud Account File Access by Non-Apple Process — Post-Exploitation (SPL) · unlock with TL Creds

Indicators of compromise for NetAuthAgent credential leak

As of 2026-10-30, Threadlinqs Intelligence tracks 5 indicators of compromise for TL-2026-4835.

5 indicators of compromise · unlock with TL Creds. Compare plans

How NetAuthAgent credential leak works

Apple fixed it on 2024-10-28 with an entitlement check; the researcher states there is no evidence of malicious use.

NetAuthAgent is a macOS user-agent daemon that handles credentials for file servers (FTP, Samba, WebDAV). It exposes a Mach Interface Generator (MIG) server registered in the bootstrap namespace as com.apple.netauth.user.gui with base routine ID 40200. Before the fix, the server did not verify who sent a message. Routine 19 (message ID 40219) accepted a serialized property-list dictionary (keys Scheme, Host, AlternatePort, Path) and returned the matching username and password in out-of-line data descriptors, so any local application could use NetAuthAgent as a credential proxy for keychain items of class 'internet password' that NetAuthAgent is allowed to read.

The same primitive extends to iCloud. According to the researcher (Noah Gregory, published on the Objective-See Foundation blog on 2025-03-20), a keychain item present on essentially every macOS device holds the decryption key for an on-disk file containing iCloud account information (names, email addresses, aliases, enabled features and multiple long-lasting iCloud API tokens). Because NetAuthAgent could be made to return that key, an unprivileged local process could decrypt the file and use the tokens to reach contacts, calendars, Find My data (own devices and friends' locations, plus lock/erase/sound actions), iCloud key-value store data, iCloud backup metadata (including device serial numbers) and read-only CloudKit queries. The researcher notes that earlier work by Wojciech Regula (Securing.pl) described iCloud token exposure and its uses. In corporate settings the same primitive could expose SSO or file-server credentials usable for lateral movement.

The researcher used a Swift Mach-message research tool named Kass to build a MIG client for the service and to enumerate keychain items via SecItemCopyMatching with kSecClassInternetPassword. Vulnerable MIG servers can be located by searching Mach-O binaries for the NDR_record symbol (e.g. with the ipsw CLI). The fix makes NetAuthAgent read the sender's audit token from the kernel-appended message trailer, fetch the sender's entitlements, and refuse the message unless the entitlement com.apple.private.netauth.useragent.allow is true; AMFI constrains third-party apps from claiming restricted entitlements.

Apple shipped the fix in macOS Sequoia 15.1, Sonoma 14.7.1 and Ventura 13.7.1 on 2024-10-28 and added the CVE entry to its advisories on 2024-12-11 (impact: 'A malicious application may be able to leak a user's credentials'). NVD scores it CVSS 3.1 5.5 (MEDIUM), CWE-522. The CVE is not listed in CISA KEV, and the researcher states there is no evidence it was ever used or found by malicious actors. No network IOCs, malware samples or threat-actor attribution are associated with it.

MITRE ATT&CK techniques by tactic:

Collection

T1005 Data from Local System; T1530 Data from Cloud Storage

Initial Access

T1078.004 Cloud Accounts

Credential Access

T1212 Exploitation for Credential Access; T1528 Steal Application Access Token; T1555.001 Keychain

lateral-movement

T1550.001 Application Access Token

Execution

T1559 Inter-Process Communication

Remediation for NetAuthAgent credential leak

Patches

  • Apple added entitlement checks (com.apple.private.netauth.useragent.allow) in macOS Sequoia 15.1, Sonoma 14.7.1 and Ventura 13.7.1 (2024-10-28)

Immediate actions

  • Update macOS to Sequoia 15.1, Sonoma 14.7.1, Ventura 13.7.1 or later
  • Rotate file-server/SSO credentials and review iCloud sessions on Macs that ran unpatched builds with untrusted local software

Workarounds

  • No vendor workaround documented; restrict execution of untrusted local applications until patched

Longer-term hardening

  • Enable iCloud Advanced Data Protection where available
  • Disable iCloud web access if unused
  • Monitor for unexpected Mach IPC to com.apple.netauth.user.gui from non-Apple binaries

Affected and fixed versions

  • Apple — macOS
    Vulnerable versions: Ventura < 13.7.1; Sonoma < 14.7.1; Sequoia < 15.1
    Fixed in: Ventura 13.7.1; Sonoma 14.7.1; Sequoia 15.1

Timeline of NetAuthAgent credential leak

  • Apple releases macOS Sequoia 15.1, Sonoma 14.7.1 and Ventura 13.7.1 containing the NetAuthAgent entitlement-check fix
  • Apple adds CVE-2024-54471 (NetAuth, credit locked-ioc-3) to the 15.1, 14.7.1 and 13.7.1 security content pages
  • CVE-2024-54471 published in NVD with CVSS 3.1 base score 5.5 (MEDIUM) and CWE-522
  • Write-up discussed on Hacker News (item 43425605)
  • locked-ioc-3 publishes the full technical write-up on the Objective-See Foundation blog and wts.dev, including the iCloud token exposure chain
  • NVD record last modified, adding a secondary CVSS 3.1 score of 5.5 (AV:L/AC:L/PR:N/UI:R)

Sources cited for NetAuthAgent credential leak

Drafted by the Threadlinqs research pipeline from 8 sources; published ; last updated —.

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Live intelligence console

Threat level

Latest Threats