CVE-2026-47121: Sparkle Package Binary Delta Apply Symlink Traversal Vulnerability

Summary

29/05/2026
No i
Moderate
6.1

CVE-2026-47121: Sparkle: Binary delta apply intermediate-symlink traversal in malicious .delta. Affects github.com/sparkle-project/Sparkle versions < 2.9.1. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Sparkle is an open-source software update framework for macOS applications, allowing developers to easily implement automatic updates. It provides features such as delta updates, which minimize the amount of data transferred during updates by only sending the changes. However, Sparkle has a vulnerability that allows attackers to exploit the delta update mechanism to write arbitrary files outside the intended directory structure, particularly when the AppInstaller runs with elevated privileges.

Vulnerability Detail

The vulnerability arises from a flaw in the handling of symbolic links during the binary delta apply process. Specifically, the code does not adequately check for symlinks in the intermediate path components, allowing an attacker with a compromised EdDSA signing key to craft a malicious .delta file. This could lead to arbitrary file writes at the root level, enabling the attacker to place files in sensitive directories such as /Library/LaunchDaemons, which could be executed with root privileges. The issue is exacerbated by the fact that the AppInstaller may run as root, granting extensive access to the file system.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary workaround, avoid using the delta update feature until you can apply the patch. If you must use it, ensure that the signing keys are secure and not compromised. Additionally, consider running the AppInstaller with reduced privileges to limit the impact of any potential exploitation.

Conclusion

The CVE-2026-47121 vulnerability in the Sparkle package poses a significant risk due to its potential for arbitrary file writes when exploited. It is crucial for developers using Sparkle to update to the latest version and implement recommended security practices to safeguard their applications.

See every vulnerability recorded for github.com/sparkle-project/Sparkle →

Share this vulnerability

FAQ

CVE-2026-47121 is a vulnerability in the Sparkle package that allows for symlink traversal during binary delta updates, potentially enabling arbitrary file writes.

You can check if your application is affected by using the Vulert playground at Vulert Scanner, which monitors for open-source vulnerabilities without requiring installation.

The vulnerability can lead to unauthorized file writes at root level, allowing attackers to execute malicious code or alter system configurations.

Yes, a patch is available in Sparkle version 2.9.2 and later. It is recommended to update to this version to mitigate the vulnerability.

If you cannot update immediately, avoid using the delta update feature and ensure that your signing keys are secure to prevent exploitation.

Related vulnerabilities

Recent vulnerabilities recorded for github.com/sparkle-project/Sparkle.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback