CVE-2026-75969
validatedZero produced an exploit or a check.GHSA-2q27-rwqh-vgpm ↗EUVD-2026-90084 ↗
description
Affected PTZOptics cameras and the Firmware Upgrade Tool include an inadequately protected firmware-update function. A party able to access that function can install unauthorized firmware without administrator credentials.
mitigation
Upgrade 12X to 0.0.98; 20X to 0.1.33; 30X to 2.1.17; 12X to 0.0.99; 20X to 0.1.37; 30X to 2.1.18; 12X to 9.1.66; 20X to 9.1.44; 30X to 9.1.46; 12X to 8.3.32; 20X to 8.3.32; 12X to 8.3.32; 20X to 8.3.32 or later.
fixed in 0.0.98, 0.1.33, 2.1.17, 0.0.99, 0.1.37, 2.1.18, 9.1.66, 9.1.44, 9.1.46, 8.3.32
outcome
Contextual check: a technique exists and was validated, but no deterministic check could cover this one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-09-30 16:27Zcve_org: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/CVE-2026-75969
{ "etk_id": "ETK-2026-149", "cve_id": "CVE-2026-75969", "display_id": "CVE-2026-75969", "ghsa_id": "GHSA-2q27-rwqh-vgpm", "euvd_id": "EUVD-2026-90084", "status": "published", "anchor_state": "anchored", "title": "PTZOptics firmware update missing authentication", "summary": "Affected PTZOptics cameras and the Firmware Upgrade Tool include an inadequately protected firmware-update function. A party able to access that function can install unauthorized firmware without administrator credentials.", "mitigation": "Upgrade 12X to 0.0.98; 20X to 0.1.33; 30X to 2.1.17; 12X to 0.0.99; 20X to 0.1.37; 30X to 2.1.18; 12X to 9.1.66; 20X to 9.1.44; 30X to 9.1.46; 12X to 8.3.32; 20X to 8.3.32; 12X to 8.3.32; 20X to 8.3.32 or later.", "vendor": "PTZOptics", "product": "Move 4K 12X", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 0, < 0.0.98" ], "ecosystem": null, "fixed_versions": [ "0.0.98" ], "package_name": "Move 4K 12X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 0.1.33" ], "ecosystem": null, "fixed_versions": [ "0.1.33" ], "package_name": "Move 4K 20X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 2.1.17" ], "ecosystem": null, "fixed_versions": [ "2.1.17" ], "package_name": "Move 4K 30X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 0.0.99" ], "ecosystem": null, "fixed_versions": [ "0.0.99" ], "package_name": "Link 4K 12X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 0.1.37" ], "ecosystem": null, "fixed_versions": [ "0.1.37" ], "package_name": "Link 4K 20X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 2.1.18" ], "ecosystem": null, "fixed_versions": [ "2.1.18" ], "package_name": "Link 4K 30X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 9.1.66" ], "ecosystem": null, "fixed_versions": [ "9.1.66" ], "package_name": "Move SE 12X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 9.1.44" ], "ecosystem": null, "fixed_versions": [ "9.1.44" ], "package_name": "Move SE 20X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 9.1.46" ], "ecosystem": null, "fixed_versions": [ "9.1.46" ], "package_name": "Move SE 30X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 8.3.32" ], "ecosystem": null, "fixed_versions": [ "8.3.32" ], "package_name": "Studio 4K 12X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 8.3.32" ], "ecosystem": null, "fixed_versions": [ "8.3.32" ], "package_name": "Studio 4K 20X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 8.3.32" ], "ecosystem": null, "fixed_versions": [ "8.3.32" ], "package_name": "Studio SE 12X", "purl": null }, { "affected_notes": [], "affected_ranges": [ ">= 0, < 8.3.32" ], "ecosystem": null, "fixed_versions": [ "8.3.32" ], "package_name": "Studio SE 20X", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PT12X-SDI-GY-G2, PT12X-SDI-WH-G2, PT12X-NDI-GY-G2, PT12X-NDI-WH-G2", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PT12X-USB-GY-G2, PT12X-USB-WH-G2", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PT20X-SDI-GY-G2, PT20X-SDI-WH-G2, PT20X-NDI-GY-G2, PT20X-NDI-WH-G2", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PT20X-USB-GY-G2, PT20X-USB-WH-G2", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PT30X-SDI-GY-G2, PT30X-SDI-WH-G2, PT30X-NDI-GY-G2, PT30X-NDI-WH-G2", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PTVL-ZCAM, PTVL-NDI-ZCAM", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PTEPTZ-ZCAM-G2, PTEPTZ-NDI-ZCAM-G2", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PT12X-ZCAM, PT12X-NDI-ZCAM", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "PT20X-ZCAM, PT20X-NDI-ZCAM", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "Studio Pro", "purl": null }, { "affected_notes": [], "affected_ranges": [ "0" ], "ecosystem": null, "fixed_versions": [], "package_name": "Upgrade Tool", "purl": null } ], "cwes": [ 306 ], "cvss_score": 9.1, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:U/R:U/V:C/RE:L/U:Red", "epss_score": 0.0035, "epss_percentile": 0.2722, "epss_asof": "2026-10-20", "automation": "contextual", "check": true, "check_confidence_basis": "assessed", "exploit": false, "pipeline_minutes": 24.97070535, "t0_at": "2026-09-30T16:27:51.490000+00:00", "signals": { "check": { "at": "2026-10-20T22:29:22.056559+00:00", "days": 20.2510482240625, "is_lower_bound": false, "measured_at": "2026-09-30T16:27:51.490000+00:00", "url": null }, "trigger_signal": { "at": "2026-09-30T16:27:51.490000+00:00", "days": 0, "is_lower_bound": false, "measured_at": "2026-09-30T16:27:51.490000+00:00", "url": "https://www.cve.org/CVERecord?id=CVE-2026-75969" } } }
published 2026-09-30 20:41Z
last change 2026-10-21 01:51Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.