Apple

Apple

Google Project Zero researcher Jann Horn uncovered a sophisticated **vulnerability** in Apple’s **macOS and iOS** that allows attackers to bypass **Address Space Layout Randomization (ASLR)**—a critical memory protection mechanism—by exploiting **pointer leaks in the NSKeyedArchiver serialization framework**. The flaw leverages Apple’s **Core Foundation framework**, specifically manipulating **NSDictionary hash tables** and the **CFNull singleton** to extract memory addresses through deserialization and re-serialization of attacker-controlled data. While no real-world exploitation was confirmed, the technique could enable **highly reliable ASLR bypasses**, paving the way for advanced memory corruption attacks. Apple patched the issue in its **March 31, 2025, security update**, but the vulnerability underscores risks in **pointer-based hashing** and **serialization security**. The attack requires an app to process malicious serialized data, exposing memory layout details without traditional exploits like buffer overflows. Though theoretical, it highlights systemic weaknesses in framework-level security designs, particularly in **legacy serialization mechanisms** used across Apple’s ecosystem.

Source: https://cyberpress.org/google-project-zero-nsdictionary-serialization-enables-aslr-address-disclosure-on-apple-oses/

TPRM report: https://www.rankiteo.com/company/apple

"id": "app1632416092925",
"linkid": "apple",
"type": "Vulnerability",
"date": "3/2025",
"severity": "25",
"impact": "",
"explanation": "Attack without any consequences: Attack in which data is not compromised"
{'affected_entities': [{'industry': 'Technology',
                        'location': 'Cupertino, California, USA',
                        'name': 'Apple Inc.',
                        'size': 'Large (Multinational)',
                        'type': 'Corporation'}],
 'attack_vector': ['Serialization Exploit',
                   'Pointer Leak',
                   'NSKeyedArchiver Manipulation',
                   'Hash Table Abuse'],
 'customer_advisories': ['Users advised to update to latest macOS/iOS versions '
                         'post-March 2025'],
 'date_publicly_disclosed': '2025-03-31',
 'date_resolved': '2025-03-31',
 'description': 'Google Project Zero researcher Jann Horn disclosed a '
                'sophisticated vulnerability affecting Apple’s macOS and iOS '
                'operating systems that demonstrates how attackers could '
                'potentially bypass Address Space Layout Randomization (ASLR) '
                'protections through an innovative exploitation of pointer '
                'leaks in serialization processes. The vulnerability exploits '
                'pointer-keyed data structures within Apple’s NSKeyedArchiver '
                'serialization framework, creating a pathway for memory '
                'address disclosure via legitimate application functionality. '
                'The attack requires an application to deserialize '
                'attacker-controlled data, re-serialize the resulting objects, '
                'and return the serialized output to the attacker, revealing '
                'critical memory layout information. The technique leverages '
                'the CFNull singleton instance in Apple’s Core Foundation '
                'framework, using pointer addresses as hash codes when custom '
                'hash handlers are not implemented. While theoretical, this '
                'could be integrated with other exploitation methods to '
                'systematically defeat ASLR protections.',
 'impact': {'brand_reputation_impact': 'Minimal (theoretical vulnerability '
                                       'with no real-world exploitation)',
            'systems_affected': ['macOS (theoretical)', 'iOS (theoretical)']},
 'investigation_status': 'Resolved (Vulnerability patched; no real-world '
                         'exploitation identified)',
 'lessons_learned': ['Pointer-based hashing in keyed data structures can '
                     'create unexpected information disclosure channels',
                     'Serialization frameworks require rigorous security '
                     'review for memory address leakage risks',
                     'ASLR bypass techniques can emerge from legitimate '
                     'framework functionality, not just coding errors',
                     'Proactive vulnerability research (e.g., Project Zero) is '
                     'critical for identifying theoretical attack vectors '
                     'before real-world exploitation'],
 'motivation': ['Research', 'Theoretical Exploitation'],
 'post_incident_analysis': {'corrective_actions': ['Updated Core Foundation to '
                                                   'prevent pointer address '
                                                   'leakage in hash tables',
                                                   'Modified NSKeyedArchiver '
                                                   'to disrupt '
                                                   'serialization-based '
                                                   'information disclosure',
                                                   'Enhanced security reviews '
                                                   'for framework-level '
                                                   'serialization mechanisms'],
                            'root_causes': ['Use of pointer addresses as hash '
                                            'codes in Core Foundation when '
                                            'custom hash handlers absent',
                                            'Predictable memory patterns in '
                                            'CFNull singleton instance',
                                            'Information disclosure via '
                                            'serialization/deserialization '
                                            'cycles of NSDictionary objects',
                                            'Lack of input validation for '
                                            'attacker-controlled serialized '
                                            'data']},
 'recommendations': ['Avoid using object addresses as lookup keys in system '
                     'frameworks',
                     'Implement keyed hash functions to prevent pointer '
                     'equality oracles',
                     'Conduct security audits of serialization/deserialization '
                     'processes',
                     'Monitor for unusual patterns in serialized data payloads '
                     '(e.g., crafted NSDictionary structures)',
                     'Adopt memory-safe alternatives to pointer-based hashing '
                     'where possible'],
 'references': [{'source': 'Google Project Zero Blog'},
                {'source': 'Apple Security Release Notes (March 31, 2025)'}],
 'response': {'communication_strategy': ['Security release notes (2025-03-31)'],
              'containment_measures': ['Framework updates in March 2025 '
                                       'security release'],
              'incident_response_plan_activated': 'Yes (Apple internal '
                                                  'remediation)',
              'remediation_measures': ['Avoided object addresses as lookup '
                                       'keys in Core Foundation',
                                       'Implemented keyed hash functions to '
                                       'minimize pointer equality oracles',
                                       'Updated NSKeyedArchiver serialization '
                                       'mechanisms'],
              'third_party_assistance': 'Google Project Zero (research '
                                        'disclosure)'},
 'stakeholder_advisories': ['Apple Security Release Notes'],
 'title': 'Apple macOS/iOS ASLR Bypass Vulnerability via NSKeyedArchiver '
          'Serialization',
 'type': ['Vulnerability Disclosure', 'Information Disclosure', 'ASLR Bypass'],
 'vulnerability_exploited': 'CVE-Unassigned (ASLR Bypass via NSKeyedArchiver '
                            'Serialization Pointer Leak)'}
Great! Next, complete checkout for full access to Rankiteo Blog.
Welcome back! You've successfully signed in.
You've successfully subscribed to Rankiteo Blog.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info has been updated.
Your billing was not updated.