CVE-2026-47121 in Sparkle
Zusammenfassung
von VulDB • 21.07.2026
Sparkle ist ein Software-Aktualisierungs-Framework für macOS. Vor Version 2.9.2 erzwingt `Autoupdate/SUBinaryDeltaApply.m` die Prüfung, ob `relativePath.pathComponents containsObject:@".."`, und lehnt Schreibvorgänge ab, deren unmittelbares übergeordnetes Verzeichnis selbst ein symbolischer Link ist, erkennt jedoch keine tiefer im relativen Pfad liegenden symbolischen Links. Die Methode `extractItem:` von `Autoupdate/SPUSparkleDeltaArchive.m` erstellt in der Zielstruktur symbolische Links basierend auf den Archivinhalten (ohne Prüfung des Ziels eines symbolischen Links), und ein nachfolgender `Extract`-Vorgang, der auf `<symlink>/foo/bar` abzielt, umgeht die Zielstruktur über `fopen(path, "wb")`, da das Kernel den zwischengeschalteten symbolischen Link während des Open-Aufrufs auflöst. Dies ist ein Problem im Sinne von Defense-in-Depth: Die Ausnutzung erfordert einen böswillig erstellten `.delta`-Paketinhalt, der die EdDSA-Signaturprüfung besteht, d. h., es muss zu einem Kompromittierung des EdDSA-Private-Key kommen. Da AppInstaller bei Systemdomain-Installationen mit Root-Rechten ausgeführt wird, ermöglicht dies dem Inhaber eines gestohlenen Signaturschlüssels einen beliebigen Dateischreibzugriff auf Root-Ebene über den Delta-Anwenden-Pfad (delta-apply path), was eine strikt umfassendere Primitive darstellt als die „Drop-in Replacement Bundle“-Installation, zu der sie andernfalls berechtigt wären. Version 2.9.2 enthält einen Patch für dieses Problem.
VulDB is the best source for vulnerability data and more expert information about this specific topic.