---
id: "CVE-2026-61668"
page: "https://infrastack.ai/live/CVE-2026-61668"
kind: "vulnerability"
aliases: ["CVE-2026-61668", "GHSA-vg99-gr89-qhw9"]
title: "DIRAC: Pilot code downloaded over unverified HTTPS connection"
severity: "high"
cvss: 8.1
epss: 0.00396
exploited: false
status: "open"
category: "package"
products: [{"name": "DIRAC", "fixed": ["8.0.79"], "affected": ">= 6.20.1, < 8.0.79", "ecosystem": "pypi"}, {"name": "DIRAC", "fixed": ["9.0.22"], "affected": ">= 8.1.0a1, < 9.0.22", "ecosystem": "pypi"}, {"name": "DIRAC", "fixed": ["9.1.10"], "affected": ">= 9.1.0, < 9.1.10", "ecosystem": "pypi"}]
ecosystems: ["pypi"]
tags: ["cwe-295", "dirac", "grid-computing", "package", "pilot-jobs", "python"]
not_affected_if: ["isolated-network", "no-dirac-pilots"]
published_at: "2026-07-13T18:37:51+00:00"
first_seen_at: "2026-11-10T19:40:05+00:00"
updated_at: "2026-11-10T20:05:01+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-vg99-gr89-qhw9", "first_seen_at": "2026-11-10T19:40:05+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-61668", "first_seen_at": "2026-11-10T20:15:32+00:00"}]
exploit_sources: [{"type": "epss", "score": 0.00396, "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-61668"}]
---

# DIRAC: Pilot code downloaded over unverified HTTPS connection

Link for people: https://infrastack.ai/live/CVE-2026-61668 (this .md is for agents)

DIRAC's pilot wrapper downloads its second-stage pilot script over HTTPS with certificate validation turned off, and the checksum file comes over the same unverified channel. A network attacker who can redirect that connection can swap in a script that runs with the pilot's proxy and credentials.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- pypi:DIRAC affected >= 6.20.1, < 8.0.79 fixed 8.0.79
- pypi:DIRAC affected >= 8.1.0a1, < 9.0.22 fixed 9.0.22
- pypi:DIRAC affected >= 9.1.0, < 9.1.10 fixed 9.1.10

## How to check

- Check the installed DIRAC version with `pip show DIRAC`
- Confirm whether the pilot wrapper (PilotWrapper.py) disables SSL validation in your deployed copy

## Fix

- DIRAC `8.0.79` for the 8.0 line (affected >= 6.20.1, < 8.0.79)
- DIRAC `9.0.22` for the 9.0 line (affected >= 8.1.0a1, < 9.0.22)
- DIRAC `9.1.10` for the 9.1 line (affected >= 9.1.0, < 9.1.10)

## Timeline

- 2026-11-10T19:40:05+00:00 ghsa https://github.com/advisories/GHSA-vg99-gr89-qhw9
- 2026-11-10T20:15:32+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-61668

## Documents

- [advisory] Maintainer's advisory: api.github.com https://api.github.com/repos/DIRACGrid/DIRAC/security-advisories/GHSA-vg99-gr89-qhw9
- [advisory] Maintainer's advisory: github.com https://github.com/DIRACGrid/DIRAC/security/advisories/GHSA-vg99-gr89-qhw9
- [fix] Patch: github.com https://github.com/DIRACGrid/DIRAC/commit/68029dfb5ddd8b1e4106851f8e37370aa80ac7ae
- [fix] Patch: github.com https://github.com/DIRACGrid/DIRAC/commit/92e2e26c63b964b8499bee5e9c2e2821a36eac56
- [fix] Patch: github.com https://github.com/DIRACGrid/DIRAC/commit/b332c437d064f66ee46f5b45a90a9f7c4bace38d
- [fix] Release: github.com https://github.com/DIRACGrid/DIRAC/releases/tag/v8.0.79
- [fix] Release: github.com https://github.com/DIRACGrid/DIRAC/releases/tag/v9.0.22
- [fix] Release: github.com https://github.com/DIRACGrid/DIRAC/releases/tag/v9.1.10

## From the sources

### Summary
The second stage pilot (pilot.tar) is downloaded by the initial wrapper script without any verification of the webservers' SSL certificate and the contained script is subsequently executed. The checksum is tested, but the reference checksum file is downloaded over the same unvalidated channel.

### Details
The pilot wrapper downloads and executes the main second stage pilot script, but the SSL validation on this connection is explicitly disabled (to match old python < 2.7.9 behaviour):
https://github.com/DIRACGrid/DIRAC/blob/integration/src/DIRAC/WorkloadManagementSystem/Utilities/PilotWrapper.py#L292-L296

This means that the second stage pilot code is not verified in any way and could potentially be altered by a man-in-the-middle attack to execute arbitrary code in the pilot context (i.e. with access to the pilot proxy/credentials).

The HTTPS connection should be validated against both the system certificates and $X509_CERT_DIR and fail if neither validate correctly.

### Impact
This would require a man-in-the-middle style attack against a grid site's network (i.e. changing the DNS or routing to redirect the pilot's connection); this is likely to be difficult which probably limits the potential impact.

### Patched versions:
https://pypi.org/project/DIRAC/8.0.79/
https://pypi.org/project/DIRAC/9.0.22/
https://pypi.org/project/DIRAC/9.1.10/

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
