A recently identified vulnerability, dubbed CVE-2023-38571, has been found to impact macOS systems, potentially allowing unauthorized apps to bypass Privacy preferences. This issue stems from the improper validation of symbolic links (symlinks), which may enable attackers to access sensitive user data without permission. Thankfully, Apple has already addressed this concern in macOS Big Sur 11.7.9, macOS Monterey 12.6.8, and macOS Ventura 13.5, with a fix involving improved symlink validation.

Code Snippet

To understand the exploitation technique for CVE-2023-38571, let's consider the following code snippet, extracted from a potentially malicious application:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  NSString *originPath = [NSString stringWithUTF8String:argv[1]];
  NSString *destinationPath = [NSString stringWithFormat:@"/Users/<username>/Library/Group Containers/<groupcontainer_id>/Source"];
  if ([[NSFileManager defaultManager] createSymbolicLinkAtPath:destinationPath withDestinationPath:originPath error:nil]) {
    NSLog(@"Symlink created successfully.");
  } else {
    NSLog(@"Failed to create symlink.");
  }
  [pool drain];
  return ;
}

In the above example, the code attempts to create a symlink via createSymbolicLinkAtPath:withDestinationPath:error:. The destination path is specified within a legitimate "Group Containers" directory, while the origin path points to an arbitrary location chosen by the attacker. Before Apple's patch, this code could potentially allow symlinks to be created without being appropriately validated, resulting in a bypass of Privacy preferences.

Original References

Apple Security Update: https://support.apple.com/en-us/HT213158
CVE Details: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-38571

Exploit Details

Before Apple's security patch, the improper validation of symlinks could allow unauthorized applications to bypass Privacy preferences by exploiting the error-prone symlink creation process. This could ultimately lead to access to sensitive user data without permission. Moreover, it might potentially enable an attacker to exploit other macOS features and APIs that rely on proper symlink validation.

The patch released by Apple provides macOS users with a fix that involves improved symlink validation across all macOS platforms. This ensures that only properly validated symlinks are created, thereby mitigating the risk of potential data exposure by unauthorized applications.

To protect yourself from CVE-2023-38571 and similarly identified vulnerabilities, it is essential to maintain your macOS system updated with the latest available security patches. If you are running macOS Big Sur, ensure that your system is updated to version 11.7.9 or later. For macOS Monterey users, make sure your system is running version 12.6.8 or later, and for macOS Ventura users, update to version 13.5 or later.

Conclusion

In this post, we have provided an overview of the CVE-2023-38571 vulnerability, including a code snippet demonstrating the symlink exploitation, links to original references on the vulnerability, and details of the potential exploit. By staying informed about identified security threats and keeping our systems updated, we can take the necessary steps to protect our sensitive data and maintain our privacy.

Timeline

Published on: 07/28/2023 05:15:10 UTC
Last modified on: 08/03/2023 16:58:19 UTC