CVE-2026-47121 in Sparkle
요약
\~에 의해 VulDB • 2026. 07. 21.
Sparkle는 macOS용 소프트웨어 업데이트 프레임워크입니다. 버전 2.9.2 이전의 `Autoupdate/SUBinaryDeltaApply.m`은 `relativePath.pathComponents containsObject:@".."`를 강제하여 즉시 상위 디렉토리가 심볼릭 링크인 경우 쓰기를 거부하지만, 상대 경로 내 더 깊은 곳에 있는 심볼릭 링크는 감지하지 못합니다. `Autoupdate/SPUSparkleDeltaArchive.m`의 `extractItem:` 메서드는 아카이브 콘텐츠에서 대상 트리에 심볼릭 링크를 생성하며(심볼릭 링크 타겟에 대한 `..` 체크 없음), 이후 `<symlink>/foo/bar`을 대상으로 하는 추출 항목은 커널이 open 호출 중 중간 심볼릭 링크를 해결함에 따라 `fopen(path, "wb")`를 통해 대상 트리를 탈출합니다. 이는 방어 다층화(defense-in-depth) 관련 문제입니다: 공격에는 EdDSA 서명 검증을 통과하는 악성으로 제작된 `.delta` 파일(즉, EdDSA 개인 키 유출)이 필요합니다. 시스템 도메인 설치를 위해 루트 권한으로 실행되는 AppInstaller의 경우, stolen signing key를 보유한 공격자가 delta-apply 경로를 통해 루트 수준에서 임의 파일 쓰기를 수행할 수 있게 되며, 이는 기존에 가능했던 "드롭인 대체 번들" 설치보다 훨씬 광범위한 원시적 취약점(primitive)입니다. 버전 2.9.2에는 해당 문제에 대한 패치가 포함되어 있습니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.