CVE-2025-10015
BaseFortify
Publication date: 2025-09-16
Last updated on: 2025-09-16
Assigner: CERT.PL
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| sparkle | sparkle | 2.8.0 |
| sparkle | sparkle | 2.7.3 |
| sparkle | sparkle | 2.7.2 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-863 | The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2025-10015 is a vulnerability in the Sparkle framework's Downloader.xpc service, which is intended to be private to the application it is bundled with. A local unprivileged attacker can register this XPC service globally, causing it to inherit the application's Transparency, Consent, and Control (TCC) permissions. Due to insufficient validation of the connecting client, the attacker can exploit this to copy TCC-protected files to arbitrary locations without proper authorization. Access to other resources beyond granted permissions still requires user interaction via a system prompt. This vulnerability is categorized under incorrect authorization and affects Sparkle versions prior to 2.7.2, where it was fixed. [1, 3]
How can this vulnerability impact me? :
This vulnerability allows a local unprivileged attacker to bypass macOS security controls by exploiting the Downloader.xpc service to copy files protected by TCC (such as files in Desktop, Documents, or Downloads folders) to arbitrary locations without user consent. This can lead to unauthorized access and exfiltration of sensitive data. Additionally, related vulnerabilities in Sparkle's Installer service can enable privilege escalation to root by tricking users into installing malicious packages or exploiting race conditions. Overall, it can compromise the confidentiality and integrity of your data and system. [1, 3]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection involves checking if your system or applications use vulnerable versions of the Sparkle framework (prior to 2.7.2) that include the Downloader.xpc service. You can inspect running processes or application bundles for the presence of the Downloader.xpc service. Additionally, monitoring for unusual registrations of the Downloader.xpc service globally or unexpected file copies to protected directories (e.g., ~/Desktop, ~/Documents, ~/Downloads) may indicate exploitation attempts. Since the vulnerability is local and involves XPC services, commands like `launchctl list` to list running XPC services, or inspecting application bundles for the presence and version of Sparkle framework can help. Also, checking system logs for suspicious XPC service registrations or file access events related to TCC-protected directories may assist detection. Specific commands might include: - `launchctl list | grep Downloader` - `find /Applications -name Downloader.xpc` - Using Console.app or `log show` to review logs for unusual XPC activity or TCC permission prompts. However, no explicit detection commands are provided in the resources. [1, 3]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include upgrading the Sparkle framework to version 2.7.2 or later, where the vulnerability is fixed. If upgrading is not immediately possible, consider removing or sandboxing the Downloader.xpc and Installer.xpc services from your application to prevent exploitation. Enforce strict code signing with Apple-issued certificates on your applications and update bundles to ensure only authorized clients can connect to these XPC services. Additionally, avoid enabling package (.pkg) update support unless necessary, or disable it by recompiling with the `SPARKLE_BUILD_PACKAGE_SUPPORT` flag disabled. Monitoring and restricting local unprivileged user access to these services can also reduce risk. Finally, educate users to be cautious with system authorization dialogs to prevent social engineering attacks related to this vulnerability. [1, 3]