CVE-2024-23222 - Access of Resource Using Incompatible Type ('Type Confusion')

Severity

88%

Complexity

27%

Confidentiality

98%

A type confusion issue was addressed with improved checks. This issue is fixed in tvOS 17.3, iOS 17.3 and iPadOS 17.3, macOS Sonoma 14.3, iOS 16.7.5 and iPadOS 16.7.5, Safari 17.3, macOS Ventura 13.6.4, macOS Monterey 12.7.3. Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been exploited.

A type confusion issue was addressed with improved checks. This issue is fixed in tvOS 17.3, iOS 17.3 and iPadOS 17.3, macOS Sonoma 14.3, iOS 16.7.5 and iPadOS 16.7.5, Safari 17.3, macOS Ventura 13.6.4, macOS Monterey 12.7.3, visionOS 1.0.2. Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been exploited.

A type confusion issue was addressed with improved checks. This issue is fixed in iOS 17.3 and iPadOS 17.3, macOS Sonoma 14.3, tvOS 17.3. Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been exploited.

CVSS 3.1 Base Score 8.8. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H).

Demo Examples

Access of Resource Using Incompatible Type ('Type Confusion')

CWE-843

Access of Resource Using Incompatible Type ('Type Confusion')

CWE-843

Access of Resource Using Incompatible Type ('Type Confusion')

CWE-843

The following Perl code is intended to look up the privileges for user ID's between 0 and 3, by performing an access of the $UserPrivilegeArray reference. It is expected that only userID 3 is an admin (since this is listed in the third element of the array).


               
print "\$UserPrivilegeArray = $UserPrivilegeArray\n";
print "Regular user!\n";
print "Admin!\n";

In this case, the programmer intended to use "$UserPrivilegeArray->{$userID}" to access the proper position in the array. But because the subscript was omitted, the "user" string was compared to the scalar representation of the $UserPrivilegeArray reference, which might be of the form "ARRAY(0x229e8)" or similar.

Since the logic also "fails open" (CWE-636), the result of this bug is that all users are assigned administrator privileges.

While this is a forced example, it demonstrates how type confusion can have security consequences, even in memory-safe languages.

Overview

First reported 1 year ago

2024-01-23 01:15:00

Last updated 6 months ago

2024-11-29 15:05:00

Affected Software

Apple Safari

References

https://support.apple.com/en-us/HT214058

https://support.apple.com/en-us/HT214059

https://support.apple.com/en-us/HT214063

https://support.apple.com/en-us/HT214055

https://support.apple.com/en-us/HT214056

https://support.apple.com/en-us/HT214061

https://support.apple.com/en-us/HT214057

http://seclists.org/fulldisclosure/2024/Jan/27

http://seclists.org/fulldisclosure/2024/Jan/33

http://seclists.org/fulldisclosure/2024/Jan/36

http://seclists.org/fulldisclosure/2024/Jan/34

http://seclists.org/fulldisclosure/2024/Jan/37

http://seclists.org/fulldisclosure/2024/Jan/38

http://seclists.org/fulldisclosure/2024/Jan/40

https://support.apple.com/en-us/HT214058

Release Notes, Vendor Advisory

https://support.apple.com/en-us/HT214059

Release Notes, Vendor Advisory

https://support.apple.com/en-us/HT214063

Release Notes, Vendor Advisory

https://support.apple.com/en-us/HT214055

Release Notes, Vendor Advisory

https://support.apple.com/en-us/HT214056

Release Notes, Vendor Advisory

https://support.apple.com/en-us/HT214061

Release Notes, Vendor Advisory

https://support.apple.com/en-us/HT214057

Release Notes, Vendor Advisory

http://seclists.org/fulldisclosure/2024/Jan/27

Third Party Advisory

http://seclists.org/fulldisclosure/2024/Jan/33

Third Party Advisory

http://seclists.org/fulldisclosure/2024/Jan/36

Third Party Advisory

http://seclists.org/fulldisclosure/2024/Jan/34

Third Party Advisory

http://seclists.org/fulldisclosure/2024/Jan/37

Third Party Advisory

http://seclists.org/fulldisclosure/2024/Jan/38

Third Party Advisory

http://seclists.org/fulldisclosure/2024/Jan/40

Third Party Advisory

http://seclists.org/fulldisclosure/2024/Feb/6

http://www.openwall.com/lists/oss-security/2024/02/05/8

https://lists.fedoraproject.org/archives/list/[email protected]/message/X2VJMEDT4GL42AQVHSYOT6DIVJDZWIV4/

https://lists.fedoraproject.org/archives/list/[email protected]/message/US43EQFC2IS66EA2CPAZFH2RQ6WD7PKF/

https://support.apple.com/en-us/HT214070

https://support.apple.com/en-us/HT214070

Release Notes, Vendor Advisory

https://support.apple.com/kb/HT214070

https://support.apple.com/kb/HT214063

Vendor Advisory

https://support.apple.com/kb/HT214057

Vendor Advisory

https://support.apple.com/kb/HT214058

Vendor Advisory

https://support.apple.com/kb/HT214061

Vendor Advisory

https://support.apple.com/kb/HT214059

https://support.apple.com/kb/HT214055

https://support.apple.com/kb/HT214056

https://support.apple.com/kb/HT214063

Release Notes, Vendor Advisory

https://support.apple.com/kb/HT214057

Release Notes, Vendor Advisory

https://support.apple.com/kb/HT214058

Release Notes, Vendor Advisory

https://support.apple.com/kb/HT214061

Release Notes, Vendor Advisory

https://support.apple.com/kb/HT214059

Release Notes, Vendor Advisory

https://support.apple.com/kb/HT214055

Release Notes, Vendor Advisory

https://support.apple.com/kb/HT214056

Release Notes, Vendor Advisory

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.