Sparkle is a software update framework for macOS. Prior to version 2.9.2, Autoupdate/SUBinaryDeltaApply.m enforces relativePath.pathComponents containsObject:@".." and rejects writes whose immediate parent directory IS itself a symbolic link, but does not detect symlinks deeper in the relative path. Autoupdate/SPUSparkleDeltaArchive.m's extractItem: will create symlinks in the destination tree from archive content (no .. check on the symlink target), and a subsequent Extract item targeting /foo/bar then escapes the destination tree via fopen(path, "wb") because the kernel resolves the intermediate symlink during the open call. This is a defense-in-depth issue: exploitation requires a maliciously-crafted .delta that passes EdDSA signature verification, i.e. EdDSA private-key compromise. With the AppInstaller running as root for system-domain installs, it gives the holder of a stolen signing key arbitrary file write at root level via the delta-apply path, which is a strictly broader primitive than the "drop-in replacement bundle" install they would otherwise have. Version 2.9.2 contains a patch for the issue.
CVE-2026-47121
Score 6.1 from GitHub Security Advisory published 2026-05-29. a secondary CVSS source baseline 6.1; sources differ by 0.0.
- Lower severity and no public exploit yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 6.1
- EG Score
- 6.1(medium)
- EG Risk
- 43(Track)EG Risk 43/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity61% × 45%Exploitation40% × 40%Automatability0% × 15%Action: Routine — remediate on your standard cadence. - EPSS
- 13.8%
- KEV
- Not listed
Published
May 29, 2026
Last Modified
July 22, 2026
Advisory Details (2)
Auto-updated Jul 21, 2026Binary delta apply intermediate-symlink traversal in malicious .delta · Advisory · sparkle-project/Sparkle · GitHub
https://github.com/sparkle-project/Sparkle/security/advisories/GHSA-hg88-v3cw-3qrhcommit fe7b718d0736 (sparkle-project/Sparkle)
Patch available: sparkle-project/Sparkle 2.9.2 (contains commit fe7b718d0736)
https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0Vendor Advisories for CVE-2026-47121(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Patch Availability(1)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| swift | github.com/sparkle-project/Sparkle | — | ghsa |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Weakness Classification(2)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 2× in last 7d / 14× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-23 03:17 UTCEG score recompute
- 2026-07-22 14:08 UTCEPSS rescore
- 2026-07-16 01:49 UTCGHSA enrichment
- 2026-07-14 13:55 UTCGHSA enrichment
- 2026-07-11 17:23 UTCGHSA enrichment
- 2026-07-08 17:17 UTCGHSA enrichment
- 2026-07-02 03:48 UTCGHSA enrichment
- 2026-07-01 01:28 UTCGHSA enrichment
- 2026-06-29 12:30 UTCGHSA enrichment
- 2026-06-28 04:14 UTCGHSA enrichment
- 2026-06-27 04:11 UTCGHSA enrichment
- 2026-06-26 02:48 UTCGHSA enrichment
- 2026-06-25 02:50 UTCGHSA enrichment
- 2026-06-24 02:51 UTCGHSA enrichment
- 2026-06-19 00:20 UTCGHSA enrichment
- 2026-06-18 00:13 UTCGHSA enrichment
- 2026-06-17 00:12 UTCGHSA enrichment
- 2026-06-16 00:13 UTCGHSA enrichment
- 2026-06-15 00:15 UTCGHSA enrichment
- 2026-06-14 23:18 UTCEPSS rescore
- 2026-06-14 00:17 UTCGHSA enrichment
- 2026-06-13 23:00 UTCEPSS rescore
- 2026-06-13 00:19 UTCGHSA enrichment
- 2026-06-12 23:12 UTCEPSS rescore
- 2026-06-12 00:17 UTCGHSA enrichment
Show 13 moreShow fewer
- 2026-06-11 00:19 UTCGHSA enrichment
- 2026-06-10 00:22 UTCGHSA enrichment
- 2026-06-09 00:25 UTCGHSA enrichment
- 2026-06-08 00:27 UTCGHSA enrichment
- 2026-06-07 00:30 UTCGHSA enrichment
- 2026-06-06 00:32 UTCGHSA enrichment
- 2026-06-05 00:35 UTCGHSA enrichment
- 2026-06-04 00:38 UTCGHSA enrichment
- 2026-06-03 00:40 UTCGHSA enrichment
- 2026-06-02 00:39 UTCGHSA enrichment
- 2026-06-01 00:42 UTCGHSA enrichment
- 2026-05-29 20:20 UTCEG score recompute
- 2026-05-29 20:20 UTCGHSA enrichment
Related CVEs(same product + same CWE)
Frequently asked(5)
What is CVE-2026-47121?
When was CVE-2026-47121 disclosed?
Is CVE-2026-47121 actively exploited?
What is the CVSS score of CVE-2026-47121?
How do I remediate CVE-2026-47121?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-47121
Is Your Infrastructure Affected by CVE-2026-47121?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.