CVE-2026-47121 in SparkleИнформация

Сводка

по VulDB • 21.07.2026

Sparkle — это фреймворк для обновления программного обеспечения в macOS. До версии 2.9.2 файл `Autoupdate/SUBinaryDeltaApply.m` проверяет наличие компонента `".."` в пути (`relativePath.pathComponents containsObject:@".."`) и отклоняет записи, если непосредственный родительский каталог является символической ссылкой, однако не обнаруживает символические ссылки на более глубоких уровнях относительного пути. Метод `extractItem:` из файла `Autoupdate/SPUSparkleDeltaArchive.m` создает символические ссылки в целевой структуре файлов на основе содержимого архива (без проверки цели символической ссылки на наличие `".."`). Последующий элемент `Extract`, указывающий путь `/foo/bar`, позволяет выйти за пределы целевого дерева каталогов через вызов `fopen(path, "wb")`, поскольку ядро разрешает промежуточную символьную ссылку во время операции открытия. Это проблема защиты в глубину (defense-in-depth): для эксплуатации требуется злонамеренно созданный файл `.delta`, который проходит проверку подписи EdDSA, то есть требует компрометации закрытого ключа EdDSA. При запуске AppInstaller с правами root при установке системных компонентов это дает владельцу украденного ключа подписи возможность произвольной записи файлов на уровне корневой директории через путь применения дельты (delta-apply path), что является строго более широкой примитивной возможностью, чем установка «заменяющего пакета» (drop-in replacement bundle), которая была бы доступна в противном случае. Версия 2.9.2 содержит исправление данной проблемы.

Once again VulDB remains the best source for vulnerability data.

Ответственный

GitHub M

Резервировать

18.05.2026

Раскрытие

21.07.2026

Модерация

принято

Вход

VDB-380900

EPSS

0.00229

KEV

Нет

Деятельности

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!