
CVE-2023-40429: 앱이 민감한 사용자 데이터에 접근할 수 있습니다.
HostName은 제3자 앱이 com.apple.developer.device-information.user-assigned-device-name 권한 없이 사용자의 기기 이름에 접근할 수 있는 방법을 보여주는 샘플 애플리케이션입니다.
iOS 16에서 Apple은 제3자 앱이 기기 이름으로 사용자를 지문(fingerprinting)하는 것을 방지하기 위해 com.apple.developer.device-information.user-assigned-device-name 권한을 추가했습니다. 그러나 그 과정에서 ProcessInfo.processInfo.hostName API가 손상되어, 제3자 개발자가 권한 없이 기기의 네트워크 호스트 이름을 얻을 수 있게 되었습니다. 호스트 이름은 기기 이름과 1:1로 완전히 일치하지는 않지만 거의 유사합니다. 예를 들어, 제 기기 이름이 Astronaut Sloth인 경우 호스트 이름은 Astronaut-Sloth가 됩니다.
제3자 개발자가 ProcessInfo.processInfo.hostName API에 접근하면 사용자에게 "''이(가) 로컬 네트워크 기기와 통신하도록 허용" 프롬프트가 표시됩니다. iOS 15에서는 사용자가 이 권한을 거부하면 ProcessInfo.processInfo.hostName API가 localhost를 반환했습니다. 그러나 iOS 16에서도 이 기능이 손상되어 사용자 입력과 관계없이 항상 기기 이름이 반환되었습니다.