Apple Products Could Allow for Arbitrary Code Execution

by | May 25, 2021 | Advisories

Multiple vulnerabilities have been discovered in Apple Products, the most severe of which could allow for arbitrary code execution.

  • iOS is a mobile operating system for mobile devices, including the iPhone, iPad, and iPod touch.
  • iPadOS is the successor to iOS 12 and is a mobile operating system for iPads.
  • Safari is a graphical web browser developed by Apple, based on the WebKit engine.
  • watchOS is the mobile operating system for Apple Watch and is based on the iOS operating system.
  • macOS Big Sur is the 17th and current major release of macOS.
  • macOS Catalina is the 16th major release of macOS.
  • macOS Mojave is the 15th major release of macOS.
  • tvOS is an operating system for fourth-generation Apple TV digital media player.

Successful exploitation of the most severe of these vulnerabilities could result in arbitrary code execution within the context of the application, an attacker gaining the same privileges as the logged-on user, or the bypassing of security restrictions. Depending on the permission associated with the application running the exploit, an attacker could then install programs; view, change, or delete data.

THREAT INTELLIGENCE: There are reports that these vulnerabilities are being actively exploited in the wild.

SYSTEMS AFFECTED:

  • Safari prior to version 14.1.1
  • iOS prior to version 14.6
  • iPadOS prior to version 14.6
  • watchOS prior to version 7.5
  • tvOS prior to version 7.5
  • macOS Big Sur prior to version 11.4
  • macOS Catalina prior to security update 2021-003
  • macOS Mojave prior to security update 2021-004

RISK:
Government:

  • Large and medium government entities: High
  • Small government entities: High

Businesses:

  • Large and medium business entities: High
  • Small business entities: High

Home users: Low

TECHNICAL SUMMARY:

Multiple vulnerabilities have been discovered in Apple Products, the most severe of which could allow for arbitrary code execution. Details of these vulnerabilities are as follows:

iOS 14.6 and iPadOS 14.6

  • An arbitrary code execution was addresses with improved checks. (CVE-2021-30707)
  • A disclosure of user information was addressed with improved checks. (CVE-2021-30685)
  • An unexpected system termination or write kernel memory race condition was addresses with improved state handling. (CVE-2021-30714)
  • A logic issue was addressed with improved restrictions. (CVE-2021-30729)
  • A validation issue existed in the handling of symlinks. This issue was addressed with improved validation of symlinks. (CVE-2021-30681)
  • An out-of-bounds read was addresses with improved bounds checking. (CVE-2021-30686)
  • A logic issue was addresses with improved state management. (CVE-2021-30727)
  • An elevated privilege issue was addressed with improved checks. (CVE-2021-30724)
  • A logic issue was addressed with improved state management. (CVE-2021-30697)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30710)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30687)
  • A disclosure of user information was addresses with improved checks. (CVE-2021-30700)
  • An arbitrary code execution was addresses with improved checks. (CVE-2021-30701)
  • A disclose memory content issue was addressed with improved checks. (CVE-2021-30705)
  • A logic issues was addressed with improved validation. (CVE-2021-30740)
  • A disclose restricted memory issue was addresses with improved checks. (CVE-2021-30674)
  • A logic issue was addressed with improved state management. (CVE-2021-30704)
  • A denial of service issue was addresses with improved state management. (CVE-2021-30715)
  • A buffer overflow was addressed with improved size validation. (CVE-2021-30736)
  • A break out of the sandbox issue was addressed with improved environment sanitization. (CVE-2021-30677)
  • A use after free issue was addressed with improved memory management. (CVE-2021-30741)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30725)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30746)
  • A validation issue was addressed with improved logic. (CVE-2021-30693)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30695)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30708)
  • A disclose memory content issue was addresses with improved checks. (CVE-2021-30709)
  • A window management issue was addressed with improved state management. (CVE-2021-30699)
  • A memory corruption issue in the ASN.1 decoder was addressed by removing the vulnerable code. (CVE-2021-30737)
  • A less secure authentication mechanism logic issue was addressed with improved validation. (CVE-2021-30667)

Safari 14.1.1

  • Multiple memory corruption issues were addressed with improved memory handling. (CVE-2021-30749, 2021-30734)
  • A cross-origin issue with iframe elements was addressed with improved tracking of security origins. (CVE-2021-30744)
  • A logic issue was addressed with improved restrictions. (CVE-2021-30720)
  • A logic issue was addressed with improved restrictions. (CVE-2021-30682)
  • A use after free issue was addressed with improved memory management. (CVE-2021-21779)
  • A cross-site scripting issue was addressed with improved state management. (CVE-2021-30689)
  • An arbitrary code execution integer overflow was addressed with improved input validation. (CVE-2021-30663)
  • A null pointer dereference was addressed with improved input validation. (CVE-2021-23841, 2021-30698)

macOS Big Sur 11.4

  • An arbitrary code execution issue was addressed with improved state management. (CVE-2021-30678)
  • A logic issue was addressed with improved state management. (CVE-2021-30676)
  • A path handling issue was addressed with improved validation. (CVE-2021-30688)
  • A logic issue was addressed with improved state management. (CVE-2021-30669)
  • An arbitrary code execution issue was addressed with improved checks. (CVE-2021-30707)
  • A disclosure of user information issue was addressed with improved checks. (CVE-2021-30685)
  • A validation issue existed in the handling of symlinks. This issue was addressed with improved validation of symlinks. (CVE-2021-30681)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30686)
  • A logic issue was addressed with improved state management. (CVE-2021-30727)
  • An elevate privilege issue was addressed with improved checks. (CVE-2021-30724)
  • An access issue was addressed with improved access restrictions. (CVE-2021-30673)
  • A logic issue was addressed with improved state management. (CVE-2021-30684)
  • An out-of-bounds write issue was addressed with improved bounds checking. (CVE-2021-30735)
  • A logic issue was addressed with improved state management. (CVE-2021-30697)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30710)
  • A use after free issue was addressed with improved memory management. (CVE-2021-30683)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30687)
  • A disclosure of user information issue was addressed with improved checks. (CVE-2021-30700)
  • An arbitrary code execution issue was addressed with improved checks. (CVE-2021-30701)
  • A disclose memory contents issue was addressed with improved checks. (CVE-2021-30705)
  • An out-of-bounds read issue was addressed by removing the vulnerable code. (CVE-2021-30719)
  • An out-of-bounds write issue was addressed with improved bounds checking. (CVE-2021-30728, CVE-2021-30726)
  • An arbitrary code execution logic issue was addressed with improved validation. (CVE-2021-30740)
  • An arbitrary code execution logic issue was addressed with improved validation. (CVE-2021-30704)
  • A denial of service logic issue was addressed with improved state management. (CVE-2021-30715)
  • A buffer overflow was addressed with improved size validation. (CVE-2021-30736)
  • A memory corruption issue was addressed with improved validation. (CVE-2021-30739)
  • A logic issue was addressed with improved state management. (CVE-2021-30680)
  • A break out of the sandbox issue was addressed with improved environment sanitization. (CVE-2021-30677)
  • A bypass Login Window logic issue was addressed with improved state management. (CVE-2021-30702)
  • A misrepresent application state logic issue was addressed with improved state management. (CVE-2021-30696)
  • An information disclosure issue was addressed with improved state management. (CVE-2021- 30723, CVE-2021-30691, CVE-2021-30692, CVE-2021-30694)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30725)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30746)
  • An arbitrary code execution validation issue was addressed with improved logic. (CVE-2021-30693)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30695)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30708)
  • A disclose memory content issue was addressed with improved checks. (CVE-2021-30709)
  • An elevated privilege issue was addressed by removing the vulnerable code. (CVE-2021-30679)
  • A denial of service issue was addressed with improved checks. (CVE-2020-36226, CVE-2020-36227, CVE-2020-36223, CVE-2020-36224, CVE-2020-36225, CVE-2020-36221, CVE-2020-36228, CVE-2020-36222, CVE-2020-36230, CVE-2020-36229)
  • An issue with path validation logic for hardlinks was addressed with improved path sanitization. (CVE-2021-30738)
  • A memory corruption issue in the ASN.1 decoder was addressed by removing the vulnerable code. (CVE-2021-30737)
  • A denial of service logic issue was addressed with improved state management. (CVE-2021-30716)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30717)
  • A path handling issue was addressed with improved validation. (CVE-2021-30721)
  • An information disclosure issue was addressed with improved state management. (CVE-2021-30722)
  • A logic issue was addressed with improved state management. (CVE-2021-30712)
  • A bypass Login Window during a software update issue was addressed with improved checks. (CVE-2021-30668)
  • A modify restricted setting issue was addressed with improved checks. (CVE-2021-30718)
  • A validation issue was addressed with improved logic. (CVE-2021-30671)
  • A permissions issue was addressed with improved validation. (CVE-2021-30713)

macOS Catalina

  • A logic issue was addressed with improved state management. (CVE-2021-30676)
  • An arbitrary code execution issue was addressed with improved state management. (CVE-2021-30678)
  • A logic issue was addressed with improved state management. (CVE-2021-30669)
  • A disclosure of user information issue was addressed with improved checks. (CVE-2021-30685)
  • A validation issue existed in the handling of symlinks. This issue was addressed with improved validation of symlinks. (CVE-2021-30681)
  • An elevate privilege issue was addressed with improved checks. (CVE-2021-30724)
  • An access issue was addressed with improved access restrictions. (CVE-2021-30673)
  • A logic issue was addressed with improved state management. (CVE-2021-30684)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30710)
  • A denial of service race condition was addressed with improved locking. (CVE-2021-1884)
  • A logic issue was addressed with improved state management. (CVE-2021-30697)
  • A use after free issue was addressed with improved memory management. (CVE-2021-30683)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30687)
  • An arbitrary code execution issue was addressed with improved checks. (CVE-2021-30701)
  • An out-of-bounds write was addressed with improved input validation. (CVE-2021-30743)
  • A disclose memory contents issue was addressed with improved checks. (CVE-2021-30705)
  • An arbitrary code execution logic issue was addressed with improved validation. (CVE-2021-30704)
  • A denial of service logic issue was addressed with improved state management. (CVE-2021-30715)
  • A bypass Login Window logic issue was addressed with improved state management. (CVE-2021-30702)
  • An information disclosure issue was addressed with improved state management. (CVE-2021- 30723, CVE-2021-30691, CVE-2021-30692, CVE-2021-30694)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30746)
  • An arbitrary code execution validation issue was addressed with improved logic. (CVE-2021-30693)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30695)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30708)
  • A disclose memory content issue was addressed with improved checks. (CVE-2021-30709)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30725)
  • An elevated privilege issue was addressed by removing the vulnerable code. (CVE-2021-30679)
  • A denial of service issue was addressed with improved checks. (CVE-2020-36226, CVE-2020-36227, CVE-2020-36223, CVE-2020-36224, CVE-2020-36225, CVE-2020-36221, CVE-2020-36228, CVE-2020-36222, CVE-2020-36230, CVE-2020-36229)
  • A denial of service logic issue was addressed with improved state management. (CVE-2021-30716)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30717)
  • A logic issue was addressed with improved state management. (CVE-2021-30712)
  • A path handling issue was addressed with improved validation. (CVE-2021-30721)
  • An information disclosure issue was addressed with improved state management. (CVE-2021-30722)
  • A validation issue was addressed with improved logic. (CVE-2021-30671)

macOS Mojave

  • A logic issue was addressed with improved state management. (CVE-2021-30676)
  • An arbitrary code execution issue was addressed with improved state management. (CVE-2021-30678)
  • Multiple issues in apache were addressed by updating apache to version 2.4.46. (CVE-2021-30690)
  • A logic issue was addressed with improved state management. (CVE-2021-30669)
  • A validation issue existed in the handling of symlinks. This issue was addressed with improved validation of symlinks. (CVE-2021-30681)
  • An elevate privilege issue was addressed with improved checks. (CVE-2021-30724)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30710)
  • A denial of service race condition was addressed with improved locking. (CVE-2021-1884)
  • A logic issue was addressed with improved state management. (CVE-2021-30697)
  • A use after free issue was addressed with improved memory management. (CVE-2021-30683)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30687)
  • A disclose memory contents issue was addressed with improved checks. (CVE-2021-30705)
  • An arbitrary code execution logic issue was addressed with improved validation. (CVE-2021-30704)
  • A bypass Login Window logic issue was addressed with improved state management. (CVE-2021-30702)
  • An information disclosure issue was addressed with improved state management. (CVE-2021- 30723, CVE-2021-30691, CVE-2021-30692, CVE-2021-30694)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30746)
  • An arbitrary code execution validation issue was addressed with improved logic. (CVE-2021-30693)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30695)
  • An out-of-bounds read was addressed with improved input validation. (CVE-2021-30708)
  • A disclose memory content issue was addressed with improved checks. (CVE-2021-30709)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30725)
  • An elevated privilege issue was addressed by removing the vulnerable code. (CVE-2021-30679)
  • A denial of service issue was addressed with improved checks. (CVE-2020-36226, CVE-2020-36227, CVE-2020-36223, CVE-2020-36224, CVE-2020-36225, CVE-2020-36221, CVE-2020-36228, CVE-2020-36222, CVE-2020-36230, CVE-2020-36229)
  • A denial of service logic issue was addressed with improved state management. (CVE-2021-30716)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30717)
  • A logic issue was addressed with improved state management. (CVE-2021-30712)
  • A path handling issue was addressed with improved validation. (CVE-2021-30721)
  • An information disclosure issue was addressed with improved state management. (CVE-2021-30722)

watchOS 7.5

  • An arbitrary code execution was addresses with improved checks. (CVE-2021-30707)
  • A disclosure of user information was addressed with improved checks. (CVE-2021-30685)
  • A validation issue existed in the handling of symlinks. This issue was addressed with improved validation of symlinks. (CVE-2021-30681)
  • An out-of-bounds read was addresses with improved bounds checking. (CVE-2021-30686)
  • A logic issue was addresses with improved state management. (CVE-2021-30727)
  • An elevated privilege issue was addressed with improved checks. (CVE-2021-30724)
  • A logic issue was addressed with improved state management. (CVE-2021-30697)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30710)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30687)
  • A disclosure of user information was addresses with improved checks. (CVE-2021-30700)
  • An arbitrary code execution was addresses with improved checks. (CVE-2021-30701)
  • A disclose memory content issue was addressed with improved checks. (CVE-2021-30705)
  • A logic issues was addressed with improved validation. (CVE-2021-30740)
  • A logic issue was addressed with improved state management. (CVE-2021-30704)
  • A buffer overflow was addressed with improved size validation. (CVE-2021-30736)
  • A break out of its sandbox issue was addressed with improved environment sanitization. (CVE-2021-30677)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30725)

tvOS 14.5

  • An arbitrary code execution was addresses with improved checks. (CVE-2021-30707)
  • A disclosure of user information was addressed with improved checks. (CVE-2021-30685)
  • A validation issue existed in the handling of symlinks. This issue was addressed with improved validation of symlinks. (CVE-2021-30681)
  • An out-of-bounds read was addresses with improved bounds checking. (CVE-2021-30686)
  • A logic issue was addresses with improved state management. (CVE-2021-30727)
  • An elevated privilege issue was addressed with improved checks. (CVE-2021-30724)
  • A logic issue was addressed with improved state management. (CVE-2021-30697)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30710)
  • An out-of-bounds read was addressed with improved bounds checking. (CVE-2021-30687)
  • A disclosure of user information was addresses with improved checks. (CVE-2021-30700)
  • An arbitrary code execution was addresses with improved checks. (CVE-2021-30701)
  • A disclose memory content issue was addressed with improved checks. (CVE-2021-30705)
  • A logic issues was addressed with improved validation. (CVE-2021-30740)
  • A logic issue was addressed with improved state management. (CVE-2021-30704)
  • A buffer overflow was addressed with improved size validation. (CVE-2021-30736)
  • A break out of its sandbox issue was addressed with improved environment sanitization. (CVE-2021-30677)
  • A memory corruption issue was addressed with improved state management. (CVE-2021-30725)

Successful exploitation of the most severe of these vulnerabilities could result in arbitrary code execution within the context of the application, an attacker gaining the same privileges as the logged-on user, or the bypassing of security restrictions. Depending on the permission associated with the application running the exploit, an attacker could then install programs; view, change, or delete data.

RECOMMENDATIONS:
We recommend the following actions be taken:

  • Apply appropriate patches provided by Apple to vulnerable systems immediately after appropriate testing.
  • Run all software as a nonprivileged user (one without administrative privileges) to diminish the effects of a successful attack.
  • Remind users not to download, accept or execute files from untrusted and unknown sources.
  • Remind users not to visit untrusted websites or follow links provided by untrusted or unknown sources.
  • Evaluate read, write, and execute permissions on all newly installed software.
  • Apply the Principle of Least Privilege to all systems and services.

REFERENCES:
Apple:
https://support.apple.com/en-us/HT201222
https://support.apple.com/en-us/HT212528
https://support.apple.com/en-us/HT212534
https://support.apple.com/en-us/HT212530
https://support.apple.com/en-us/HT212531
https://support.apple.com/en-us/HT212533
https://support.apple.com/en-us/HT212532

CVE:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36221
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36222
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36223
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36224
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36225
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36227
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36228
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36229
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36230
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-21779
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23841
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30667
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30674
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30674
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30677
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30681
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30682
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30685
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30686
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30687
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30689
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30693
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30695
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30697
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30698
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30699
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30700
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30701
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30704
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30705
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30708
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30709
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30710
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30714
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30715
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30720
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30724
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30725
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30727
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30729
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30734
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30736
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30737
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30740
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30741
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30746
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30749