CVE-2026-61668
DIRAC: Pilot code downloaded over unverified HTTPS connection
DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, WorkloadManagementSystem/Utilities/PilotWrapper.py pilotWrapperScript uses ssl._create_unverified_context to download the second-stage pilot.tar archive without TLS certificate verification and downloads the reference checksum through the same unvalidated channel. An attacker able to redirect or intercept a grid site's network traffic through DNS or routing manipulation can substitute both the executable pilot code and its checksum, causing arbitrary code to run in the pilot context with access to pilot proxy credentials. The fixed implementation validates the server certificate through system trust and X509_CERT_DIR or the grid certificate directory. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
DIRAC: Pilot code downloaded over unverified HTTPS connection
DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, WorkloadManagementSystem/Utilities/PilotWrapper.py pilotWrapperScript uses ssl._create_unverified_context to download the second-stage pilot.tar archive without TLS certificate verification and downloads the reference checksum through the same unvalidated channel. An attacker able to redirect or intercept a grid site's network traffic through DNS or routing manipulation can substitute both the executable pilot code and its checksum, causing arbitrary code to run in the pilot context with access to pilot proxy credentials. The fixed implementation validates the server certificate through system trust and X509_CERT_DIR or the grid certificate directory. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.
- Record
CVE-2026-61668- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-295
- Updated
- 2026-11-02
EUVDEUVD-2026-78899
8.1
DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, WorkloadManagementSystem/Utilities/PilotWrapper.py pilotWrapperScript uses ssl._create_unverified_context to download the second-stage pilot.tar archive without TLS certificate verification and downloads the reference checksum through the same unvalidated channel. An attacker able to redirect or intercept a grid site's network traffic through DNS or routing manipulation can substitute both the executable pilot code and its checksum, causing arbitrary code to run in the pilot context with access to pilot proxy credentials. The fixed implementation validates the server certificate through system trust and X509_CERT_DIR or the grid certificate directory. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.
- Record
EUVD-2026-78899- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-vg99-gr89-qhw9
8.1
DIRAC: Pilot code downloaded over unverified HTTPS connection
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/
- Record
GHSA-vg99-gr89-qhw9- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-295
- Updated
- 2026-11-02
NVD
8.1
DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, WorkloadManagementSystem/Utilities/PilotWrapper.py pilotWrapperScript uses ssl._create_unverified_context to download the second-stage pilot.tar archive without TLS certificate verification and downloads the reference checksum through the same unvalidated channel. An attacker able to redirect or intercept a grid site's network traffic through DNS or routing manipulation can substitute both the executable pilot code and its checksum, causing arbitrary code to run in the pilot context with access to pilot proxy credentials. The fixed implementation validates the server certificate through system trust and X509_CERT_DIR or the grid certificate directory. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.
- Record
CVE-2026-61668- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-295
- Updated
- 2026-11-02
OSV
8.1
DIRAC: Pilot code downloaded over unverified HTTPS connection
DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, WorkloadManagementSystem/Utilities/PilotWrapper.py pilotWrapperScript uses ssl._create_unverified_context to download the second-stage pilot.tar archive without TLS certificate verification and downloads the reference checksum through the same unvalidated channel. An attacker able to redirect or intercept a grid site's network traffic through DNS or routing manipulation can substitute both the executable pilot code and its checksum, causing arbitrary code to run in the pilot context with access to pilot proxy credentials. The fixed implementation validates the server certificate through system trust and X509_CERT_DIR or the grid certificate directory. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.
- Record
CVE-2026-61668- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-295
- Updated
- 2026-11-02
OSVGHSA-vg99-gr89-qhw9
8.1
DIRAC: Pilot code downloaded over unverified HTTPS connection
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/
- Record
GHSA-vg99-gr89-qhw9- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-295
- Updated
- 2026-11-02
OSVPYSEC-2026-3464
8.1
DIRAC: Pilot code downloaded over unverified HTTPS connection
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/
- Record
PYSEC-2026-3464- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
diracPyPI |
6.20.1 up to 8.0.79 | 8.0.79 |
diracPyPI |
8.1.0a1 up to 9.0.22 | 9.0.22 |
diracPyPI |
9.1.0 up to 9.1.10 | 9.1.10 |
diracPyPI |
6.20.1 up to 8.0.79, plus listed versions 7.2.07.2.0a327.2.0a337.2.0a347.2.0a35 Show 45 moreShow less7.2.0a367.2.0a387.2.0a397.2.17.2.107.2.127.2.137.2.147.2.157.2.167.2.197.2.27.2.207.2.217.2.227.2.237.2.247.2.257.2.267.2.277.2.287.2.37.2.307.2.317.2.327.2.337.2.347.2.357.2.367.2.377.2.387.2.397.2.47.2.407.2.417.2.427.2.437.2.447.2.457.2.467.2.477.2.487.2.497.2.57.2.50 |
8.0.79 |
diracPyPI |
8.1.0a1 up to 9.0.22, plus listed versions 8.1.0a108.1.0a118.1.0a128.1.0a138.1.0a14 Show 45 moreShow less8.1.0a158.1.0a168.1.0a178.1.0a188.1.0a198.1.0a28.1.0a208.1.0a218.1.0a228.1.0a238.1.0a38.1.0a48.1.0a58.1.0a68.1.0a78.1.0a88.1.0a99.0.09.0.0a19.0.0a109.0.0a119.0.0a129.0.0a139.0.0a169.0.0a179.0.0a189.0.0a199.0.0a29.0.0a209.0.0a219.0.0a229.0.0a239.0.0a249.0.0a259.0.0a269.0.0a279.0.0a289.0.0a299.0.0a39.0.0a309.0.0a319.0.0a359.0.0a369.0.0a379.0.0a38 |
9.0.22 |
diracPyPI |
9.1.0 up to 9.1.10, plus listed versions 9.1.19.1.29.1.39.1.49.1.5 Show 4 moreShow less9.1.69.1.79.1.89.1.9 |
9.1.10 |
diracPyPI |
6.20.1 up to 8.0.79, 8.1.0a1 up to 9.0.22, 9.1.0 up to 9.1.10, plus listed versions 7.2.07.2.0a327.2.0a337.2.0a347.2.0a35 Show 45 moreShow less7.2.0a367.2.0a387.2.0a397.2.17.2.107.2.127.2.137.2.147.2.157.2.167.2.197.2.27.2.207.2.217.2.227.2.237.2.247.2.257.2.267.2.277.2.287.2.37.2.307.2.317.2.327.2.337.2.347.2.357.2.367.2.377.2.387.2.397.2.47.2.407.2.417.2.427.2.437.2.447.2.457.2.467.2.477.2.487.2.497.2.57.2.50 |
8.0.799.0.229.1.10 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-61668 is a high vulnerability (CVSS 8.1) in Diracgrid Dirac, published July 13, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.40%, the 34th percentile. Fixed in dirac 8.0.79.
References
github.com/DIRACGrid/DIRAC/security/advisories/GHSA-vg99-gr89-qhw9
github.com/DIRACGrid/DIRAC/commit/68029dfb5ddd8b1e4106851f8e37370aa80ac7ae
github.com/DIRACGrid/DIRAC/commit/92e2e26c63b964b8499bee5e9c2e2821a36eac56
github.com/DIRACGrid/DIRAC/commit/b332c437d064f66ee46f5b45a90a9f7c4bace38d
github.com/DIRACGrid/DIRAC/releases/tag/v8.0.79
github.com/DIRACGrid/DIRAC/releases/tag/v9.0.22
Show 9 moreShow less
github.com/DIRACGrid/DIRAC/releases/tag/v9.1.10
pypi.org/project/DIRAC/8.0.79
pypi.org/project/DIRAC/9.0.22
pypi.org/project/DIRAC/9.1.10
github.com/advisories/GHSA-vg99-gr89-qhw9
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61668.json
nvd.nist.gov/vuln/detail/CVE-2026-61668
github.com/DIRACGrid/DIRAC
pypi.org/project/dirac
Left out here: 509 versions. The JSON record has them.