Skip to main content

X-AnyLabeling CVE-2026-79785

| EUVDEUVD-2026-65595 HIGH
Improper Certificate Validation (CWE-295)
2026-08-25 disclosure@vulncheck.com GHSA-xmcj-8jmg-p5pr
8.2
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
8.2 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/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
vuln.today AI
9.0 CRITICAL

MitM network positioning requires AC:H; no attacker credentials needed (PR:N); pickle deserialization escapes app sandbox, changing scope with full C/I/A impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/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
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
Patch available
Aug 25, 2026 - 18:17 EUVD
Source Code Evidence Fetched
Aug 25, 2026 - 16:31 vuln.today
Analysis Generated
Aug 25, 2026 - 16:31 vuln.today
CVE Published
Aug 25, 2026 - 16:17 cve.org
HIGH 8.2

DescriptionCVE.org

X-AnyLabeling's model downloader disabled TLS certificate verification. download_with_retry in anylabeling/services/auto_labeling/model.py built a context with ssl._create_unverified_context() and passed it to urllib.request.urlopen, so neither the certificate chain nor the hostname was checked on any model download, and models are fetched over HTTPS from the project's release host. Any party positioned to intercept that connection could therefore answer it with content of their own choosing. The response is written to a .part file and moved into place with os.replace, and the only post-download check, safe_check_model, validates the file's format rather than its provenance: no hash or signature is compared against an expected value. For an ONNX target the substituted file passes onnx.checker.check_model and is then used for inference, so the attacker chooses the model that produces the application's annotations. For a .pth or .pt target, which the shipped SAM2 video, YOLOE, UPN and open_vision configurations use, the check worker calls torch.load without weights_only, so a substituted file is unpickled and executes code of the attacker's choosing on PyTorch releases predating the weights_only default.

AnalysisAI

Disabled TLS certificate verification in X-AnyLabeling's model downloader exposes all versions prior to v4.0.0-beta.9 to man-in-the-middle model substitution during HTTPS downloads. Because ssl._create_unverified_context() disables both hostname checking and certificate chain validation, a network-positioned attacker can serve arbitrary model files without detection. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Establish MitM position on victim's network path
Delivery
Intercept HTTPS model download request (no cert check)
Exploit
Serve crafted .pth/.pt payload as legitimate model
Execution
Application writes payload to disk unverified
Persist
torch.load deserializes pickle bytecode
Impact
Execute arbitrary code on victim host

Vulnerability AssessmentAI

Exploitation The attacker must occupy a man-in-the-middle network position on the path between the victim host and the X-AnyLabeling model release server (e.g., GitHub Releases CDN). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 score of 8.2 (AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N) reflects high integrity impact tempered by meaningful complexity mitigators: the attacker must achieve man-in-the-middle positioning (AC:H) and a specific attack target must be present (AT:P). … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker controlling a rogue Wi-Fi access point, a compromised upstream router, or leveraging DNS/BGP manipulation intercepts an HTTPS connection from an X-AnyLabeling user to the project's GitHub release host. Because the application presents no certificate for validation, the TLS handshake completes against the attacker's certificate and the attacker delivers a crafted `.pth` file in place of a legitimate SAM2 or YOLOE model. …
Remediation Upgrade to X-AnyLabeling v4.0.0-beta.9 or later, which removes the `ssl._create_unverified_context()` call and restores Python's default TLS validation. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, identify all systems running X-AnyLabeling versions prior to v4.0.0-beta.9 and assess their network exposure to potential MITM attack paths. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-79785 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy