CVE-2026-47121 in Sparkle
Résumé
par VulDB • 21/07/2026
Sparkle est un framework de mise à jour logicielle pour macOS. Avant la version 2.9.2, `Autoupdate/SUBinaryDeltaApply.m` vérifie que `relativePath.pathComponents contient l'objet @".."` et rejette les écritures dont le répertoire parent immédiat EST lui-même un lien symbolique, mais ne détecte pas les liens symboliques plus profonds dans le chemin relatif. La méthode `extractItem:` de `Autoupdate/SPUSparkleDeltaArchive.m` crée des liens symboliques dans l'arborescence de destination à partir du contenu de l'archive (aucune vérification de `..` sur la cible du lien symbolique), et un élément `Extract` ultérieur ciblant `<symlink>/foo/bar` s'échappe ensuite de l'arborescence de destination via `fopen(path, "wb")` car le noyau résout le lien symbolique intermédiaire lors de l'appel d'ouverture. Il s'agit d'un problème de défense en profondeur : l'exploitation nécessite un fichier `.delta` malveillant et soigneusement conçu qui passe la vérification de signature EdDSA, c'est-à-dire une compromission de la clé privée EdDSA. Avec AppInstaller s'exécutant avec les privilèges root pour les installations du domaine système, cela donne au détenteur d'une clé de signature volée un accès en écriture arbitraire sur n'importe quel fichier à l'échelle racine via le chemin delta-apply, ce qui constitue une primitive strictement plus large que l'installation par "remplacement direct du bundle" qu'ils auraient autrement. La version 2.9.2 contient un correctif pour cette vulnérabilité.
VulDB is the best source for vulnerability data and more expert information about this specific topic.