Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-6666-XPC-Service-NSKeyedUnarchiver-Deserialization-Attack-macOS-iOS-simulation- | Kitploit
Tools/GitHubGitHub/george0papasotiriou/cve-2026-6666-xpc-service-nskeyedunarchiver-deserialization-attack-macos-ios-simulation-
iOS SecurityVulnerability AnalysisExploitationMobile SecurityLearning & EducationPayload Development
GitHubgeorge0papasotiriou/cve-2026-6666-xpc-service-nskeyedunarchiver-deserialization-attack-macos-ios-simulation-

CVE-2026-6666-XPC-Service-NSKeyedUnarchiver-Deserialization-Attack-macOS-iOS-simulation-

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
View Repository
18 days agoNot yet reviewed

CVE-2026-6666 – XPC Service NSKeyedUnarchiver Deserialization Attack (macOS/iOS simulation)

Program Code (Python simulation)

root@kitploit:~
#!/usr/bin/env python3
# vulnerable_xpc_service.py - Simulated XPC service using unsafe plist deserialization
import plistlib, subprocess, socketserver, struct

# Mach message simulation: we just accept a binary plist over TCP.
class XPCHandler(socketserver.BaseRequestHandler):
    def handle(self):
        raw = self.request.recv(4096)
        # Insecure: using plistlib.loads on untrusted data without sanitization
        plist_data = plistlib.loads(raw)  # In real macOS, NSKeyedUnarchiver can execute code
        # Simulate a command being embedded in the plist
        command = plist_data.get("runCommand")
        if command:
            subprocess.Popen(command, shell=True)
        self.request.sendall(b"Success")

server = socketserver.TCPServer(('localhost', 8888), XPCHandler)
print("Vulnerable XPC service on :8888")
server.serve_forever()

CVE-2026-6666 – XPC Service NSKeyedUnarchiver Deserialization RCE

Severity: Critical

Overview

An XPC service on macOS/iOS deserializes incoming Mach messages using NSKeyedUnarchiver without a secure coding allow‑list. An attacker can craft a serialized object graph that executes arbitrary code upon deserialization.

Vulnerability Details

  • Type: Insecure Deserialization
  • Impact: Arbitrary code execution with the privileges of the XPC service.
  • Root Cause: NSKeyedUnarchiver is used with untrusted data and no class whitelist, allowing instantiation of objects that trigger code execution (e.g., NSInvocation).

Exploit Demonstration

  1. Start the simulated XPC service:
    root@kitploit:~
    python vulnerable_xpc_service.py
    
  2. Send the malicious payload:
    root@kitploit:~
    python exploit_xpc.py
    
Download Tool