Advisory Database
  • Advisories
  • Dependency Scanning
  1. swift
  2. ›
  3. github.com/sparkle-project/Sparkle
  4. ›
  5. CVE-2026-47121

CVE-2026-47121: Sparkle: Binary delta apply intermediate-symlink traversal in malicious .delta

May 29, 2026 (updated July 21, 2026)

Binary delta apply intermediate-symlink traversal in malicious .delta

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 <symlink>/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.

Affected versions: 1.x (master branch), 2.x branch including 2.9.1.

References

  • github.com/advisories/GHSA-hg88-v3cw-3qrh
  • github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0
  • github.com/sparkle-project/Sparkle/security/advisories/GHSA-hg88-v3cw-3qrh
  • nvd.nist.gov/vuln/detail/CVE-2026-47121

Detect and mitigate CVE-2026-47121 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 2.9.2

Fixed versions

  • 2.9.2

Solution

Upgrade to version 2.9.2 or above.

Impact 6.1 MEDIUM

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
  • CWE-59: Improper Link Resolution Before File Access ('Link Following')

Source file

swift/github.com/sparkle-project/Sparkle/CVE-2026-47121.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:03 +0000.